進入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 '你的密碼';
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地址;