修改root用戶
查看用戶的權限,是否是mysql_native_password,如果不是,則將auth_sock改為mysql_native_password
update user set plugin = 'mysql_native_password' where user = 'root';
或者執行下面語句,這樣就不需要執行Step2的內容啦!
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
然后
flush privilege;
退出mysql。
Step2 修改或者設置root用戶密碼
退出后使用 mysql -u root -p 發現登錄不了Mysql, 報的錯為:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
然后修改root密碼(密碼可與之前的一樣):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
然后,quit;退出。
如果 root還是無法遠程訪問,則進行下面操作:
netstat -ntpl 查看3306監聽在127.0.0.1 的話 改成監聽IP為你的IP 或者為0.0.0.0 vi /etc/mysql/mysql.conf.d/mysqld.cnf 找到 bind-address = 127.0.0.1 去掉#注釋改成 bind-address = 0.0.0.0
mysql遠程連接 Host * is not allowed to connect to this MySQL server
執行use mysql; 執行update user set host = '%' where user = 'root';這一句執行完可能會報錯,不用管它。 執行FLUSH PRIVILEGES;