我的本地环境是:
当我尝试login到MySQL(通过CLI):
mysql -u root -p
我经历了三个步骤的循环问题。
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
解决scheme:重新启动电脑。
这导致了另一个错误:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'.
可能的问题? 错误的“root”用户密码!
解决scheme: 使用本教程重置root密码 。
有了正确的密码和工作套接字,就出现了最后的错误。
mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"
在这里,我停下来或以某种方式再次得到1)。
我解决了!
在步骤2中重置根密码时,还要将auth插件更改为mysql_native_password
:
use mysql; update user set authentication_string=PASSWORD("") where User='root'; update user set plugin="mysql_native_password" where User='root'; # THIS LINE flush privileges; quit;
这使我能够成功登录!
# 1. first, run these bash commands sudo /etc/init.d/mysql stop # stop mysql service sudo mysqld_safe --skip-grant-tables & # start mysql without password # enter -> go mysql -uroot # connect to mysql
use mysql; # use mysql table update user set authentication_string=PASSWORD("") where User='root'; # update password to nothing update user set plugin="mysql_native_password" where User='root'; # set password resolving to default mechanism for root user flush privileges; quit;
sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start # reset mysql mysql -u root -p root # try login to database
mysql -uroot # "-hlocalhost" is default
可能导致“丢失文件”或slt错误。
mysql -uroot -h127.0.0.1
效果更好。
我已经找到了许多方法来创建mysqld.sock
文件,更改访问权限或符号链接它。 毕竟这不是问题。
my.cnf
文件 这个问题也不在那里。 如果你不确定, 这可能会帮助你 。