當你安裝好mysql后,發現mysql -u root -p
直接按倆次enter竟然不用密碼就能登錄進去,可是navicat連接mysql需要密碼啊。怎么辦?
於是我通過百度尋覓良久發現多數都是通過下面的命令修改。但是自己執行時報下面的錯。
mysql> set password for root@localhost = password('123456');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'passw
ord('123456')' at line 1
后來我通過下面的命令成功修改了密碼。
SET PASSWORD FOR root@localhost = '123456';
mysql> SET PASSWORD FOR root@localhost = '123456';
Query OK, 0 rows affected (0.04 sec)
修改成功。
如果是mysql 8.0 及以上版本上面的語句可能就不行了:
mysql -u root -p
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; # 123456是密碼,root是用戶名
flush privileges;
quit;