一尘不染

MySQL失败:mysql“错误1524(HY000):未加载插件'auth_socket'”

mysql

我的本地环境是:

  • 新鲜的Ubuntu 16.04
  • 使用PHP 7
  • 安装了MySQL 5.7
    sudo apt-get install mysql-common mysql-server
    

当我尝试通过MySQL登录MySQL时:

mysql -u root -p

我遇到了3个步骤的周期性问题。

1)首先是一些套接字问题

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

解决方案:重新启动PC。

导致另一个错误:

2)拒绝访问

ERROR 1698 (28000): Access denied for user 'root'@'localhost'.

可能的问题?“ root”用户的密码错误!

解决方案: 使用本教程重置root密码

使用正确的密码和有效的套接字,将出现最后一个错误。

3)不正确的auth插件

mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"

在这里我停了下来,或者又以某种方式回到了1)。


阅读 774

收藏
2020-05-17

共1个答案

一尘不染

我有解决办法!

在步骤2)重置root密码时,还将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.运行bash命令

1.首先,运行以下bash命令

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

2.然后运行mysql命令=>将其手动复制粘贴到cli

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;

3.运行更多的bash命令

sudo /etc/init.d/mysql stop 
sudo /etc/init.d/mysql start # reset mysql
# try login to database, just press enter at password prompt because your password is now blank
mysql -u root -p

4.套接字问题(根据您的评论)

当您看到 套接字 错误时,社区提供了两种可能的解决方案:

sudo mkdir -p /var/run/mysqld; sudo chown mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables &

(感谢@Cerin)

要么

mkdir -p /var/run/mysqld && chown mysql:mysql /var/run/mysqld

(感谢@Peter Dvukhrechensky)


盲径和可能的边缘错误

使用127.0.0.1代替localhost

mysql -uroot # "-hlocalhost" is default

可能导致“文件丢失”或slt错误。

mysql -uroot -h127.0.0.1

效果更好。

跳过套接字问题

我发现了许多创建mysqld.sock文件,更改访问权限或对其进行符号链接的方法。毕竟这不是问题。

跳过my.cnf文件

问题也不存在。如果您不确定,这可能会对您有所帮助

2020-05-17