Table of Contents
安装
-
MySQL yum源配置及安装方法
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ -
安装
版本 : mysql community server 8.0.13# yum install mysql-community-server
-
启动MySQL服务
# systemctl start mysqld.service
-
检查MySQL服务状态
# systemctl status mysqld.service
-
查看root初始密码
# grep 'temporary password' /var/log/mysqld.log
-
本地MySQL客户端登录
# mysql -uroot -p
-
重置root登录密码
> alter user 'root'@'localhost' identified by 'MyNewPass4!'; > flush privileges;
登录账户
登录MySQL
-
语法: mysql -h 主机地址 -u 用户名 -p 用户密码
# mysql -u root -p
密码丢失重置
-
必须停止服务
# systemctl stop mysqld.service
-
修改配置文件
# vim /etc/my.cnf
在最后一行添加:skip-grant-tables
-
启动服务
# systemctl start mysqld.service
-
登录账户并修改密码
# msyql -uroot -p > flush privileges;(该步骤必须有,否则会报无法执行修改密码操作) > alter user 'root'@'localhost' identified by 'New123*';
-
撤销对配置文件修改,重启mysql服务器
在修改密码期间数据库不受保护。
用户权限
创建用户
-
语法: create user 用户名@主机 identified by 密码;
-
允许本地IP访问localhost, 127.0.0.1
> create user 'naruto'@'localhost' identified by '123456';
-
允许外网IP访问
> create user 'naruto'@'%' identified by '123456'
-
刷新授权
> flush privileges
删除用户
-
语法: drop user 用户名@主机;
-
删除用户naruto
> drop user 'naruto'@'localhost';
查看用户权限
-
语法: show grants for 用户@主机;
-
查看naruto权限
> show grants for 'naruto'@'localhost';
授权
-
语法: /*grant 权限列表 on 库名.表名 to 用户@主机 identified by '密码';
-
授予在所有表上全部权限
> grant all privileges on *.* to 'naruto'@'localhost';
-
授权在test库上所有表读写权限
> grant select,insert on test.* to 'naruto'@'localhosst';
-
刷新权限
> flush privileges;
回收权限
-
语法: revoke 权限 on 库名.表名 from 用户@主机;
-
回收部分权限
> revoke insert,select on *.* from 'naruto'@'localhost';
-
回收全部权限
> revoke all on *.* from 'naruto'@'localhost';
数据库操作
显示版本
> select version()\g
显示数据库列表
> show databases;
选择数据库
> use <数据库名>;
显示指定数据库所有表
> show tables;
创建数据库
-
方法一
> create database test_db;
-
方法二
# mysqladmin -u root -p create test_db
删除数据库
-
方法一
> drop database test_db;
-
方法二
# mysqladmin -u root -p drop test_db
数据表操作
创建数据表
> create table table_name (column_name column_type);
查看表结构
> desc <表名>;
> describe <表名>;
> show columns from <表名>;
> show create table <表名>;
删除数据表
> drop table table_name;
插入数据
> insert into table_name (field1, field2, .., fieldn)
-> values (value1, value2, ..., valuen);
查询数据
> select column_name, column_name
-> from table_name
-> [where Clause]
-> [limit N][offset M]
- table_name可以是一个或者多个表
- where语句包含任何条件
- limit设定返回的记录数
- offset指定select语句开始查询的数据偏移量,默认为0
问题
-
mysqli无法登陆数据库
创建用户使用如下指令,或许可以解决alter user 'username'@'localhost' identified with mysql_native_password by 'password';
作者:混吃等死
-------------------------------------------
个性签名:混吃等死
-------------------------------------------
日常总结,均为原创,欢迎交流,转载请注明