如果你在 MySql 5.7.+ 中遇到了同样的问题:
Access denied for user 'root'@'localhost'
这是因为MySql 5.7默认允许通过socket连接,这意味着您只需使用sudo mysql
连接即可。 如果您运行sql:
SELECT user,authentication_string,plugin,host FROM mysql.user;
然后你就会看到它:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *497C3D7B50479A812B89CD12EC3EDA6C0CB686F0 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)
为了允许使用root和密码进行连接,可以使用以下命令更新表中的值:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Current-Root-Password';
FLUSH PRIVILEGES;
然后再次运行选择命令,您会看到它已更改:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *2F2377C1BC54BE827DC8A4EE051CBD57490FB8C6 | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *497C3D7B50479A812B89CD12EC3EDA6C0CB686F0 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)
就是这样。在运行并完成sudo mysql_secure_installation
命令后,您可以运行此过程。
对于mariadb,请使用
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('manager');
设置密码。
更多信息请参见https://mariadb.com/kb/en/set-password/
SHOW GRANTS FOR root
,并将结果发布在您的问题中。 - NobleUplift