1. 程式人生 > 其它 >MySQL8的mysql.user同步時被覆蓋導致問題解決辦法

MySQL8的mysql.user同步時被覆蓋導致問題解決辦法

1、mysql連資料庫的時候報錯:

1251 client does not support authentication protocol requested by server;consider upgrading Mysql client
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
mysql> use mysql;
mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| admin            | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| zhangj           | localhost |
+------------------+-----------+
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123';

2、mysql登入報錯1449

1449-The user specified as a definer(‘mysql.infoschema’@localhost’) does not exist

現象:

檢視定義者不存在

解決辦法:

flush privileges;
//重新整理許可權
create user `mysql.infoschema`@"localhost" identified by 'h102';
flush privileges;

再次登入會報錯,提示沒有許可權

ERROR 1356 (HY000): View ‘information_schema. SCHEMATA’…
use mysql;
update user set Select_priv = 'Y' where User = 'mysql.infoschema';
//這裡注意使用者名稱,也是你報錯的使用者名稱
flush privileges;