MySQL数据库之DCL(数据控制语言)

1.MySQL之DCL设置root指定的ip访问

进入mysql:mysql -uroot -p或者mysql -uroot -h127.0.0.1 -p(host默认为127.0.0.1)

mysql> use mysql; 

mysql> update user set host = 'ip' where user = 'root'; 

mysql> select host, user from user; 

mysql> flush privileges;

2.MySQL之DCL修改密码以及忘记密码的解决

MySQL8.0修改密码问题:MySQL8.0后请使用alter修改用户密码,因为在MySQL8.0以后的加密方式为caching_sha2_password,如果使用update修改密码会给user表中root用户的authentication_string字段下设置newpassowrd值,当再使用alter user 'root'@'localhost' identified by 'newpassword'修改密码时会一直报错,必须清空后再修改,因为authentication_string字段下只能是MySQL加密后的43位字符串密码,其他的会报格式错误,所以在MySQL8.0以后能修改密码的方法只能是:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

MySQL8.0.12重置root密码

3.MySQL之DCL普通用户的创建授权以及权限回收

一般地,一个项目对应一个数据库; 

(1)创建用户

create user 用户名@'IP地址' identified by '密码';

注意:此用户只能在制定的IP上使用 所有的IP要用%。

(2)用户授权

grant 权限1,权限2,...... on 数据库名.* to 用户名 @IP地址或者%

注意:所有的数据库就用*.*,所有的权限就用all或者all privileges

(3)撤销权限

revoke 权限1,权限2,...... on 数据库名.*from 用户名 @IP地址或者%

 4.MySQL之DCL用户权限的查看以及用户的删除

(1)查看权限

show grants for 用户名@IP地址;

(2)删除用户

drop user 用户名@IP地址;

猜你喜欢

转载自www.cnblogs.com/yuehouse/p/11184399.html