Ubuntu 15.10 mysql 错误 1524 - unix_socket

Hyd*_*ter 56 server mysql

在 Ubuntu 15.10 上,有时(可能在安装和删除 mariadb 之后)mysql 无法运行。任务已启动,但服务器已关闭。

在命令中:

mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

系统回复如下:

mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"
Run Code Online (Sandbox Code Playgroud)

无法登录,找不到插件,配置文件中没有错误(全部为默认值)。

如何重新控制,并使mysql服务器运行?

Hyd*_*ter 103

“unix_socket”已被mysql身份验证过程调用(可能与数据库部分迁移到mariadb有关,现已删除)。要让所有东西恢复工作,请执行以下操作:

sudo su
Run Code Online (Sandbox Code Playgroud)

然后按照:

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables &
mysql -uroot
Run Code Online (Sandbox Code Playgroud)

这将完全停止 mysql,绕过用户身份验证(不需要密码)并使用用户“root”连接到 mysql。

现在,在 mysql 控制台中,使用 mysql 管理数据库:

use mysql;
Run Code Online (Sandbox Code Playgroud)

要将 root 密码重置为mynewpassword(根据您的意愿更改),请确保:

update user set password=PASSWORD("mynewpassword") where User='root';
Run Code Online (Sandbox Code Playgroud)

这将覆盖身份验证方法,删除 unix_socket 请求(以及其他所有内容),恢复正常且有效的密码方法:

update user set plugin="mysql_native_password";
Run Code Online (Sandbox Code Playgroud)

退出mysql控制台:

quit;
Run Code Online (Sandbox Code Playgroud)

停止和启动与 mysql 相关的一切:

/etc/init.d/mysql stop
kill -9 $(pgrep mysql)
/etc/init.d/mysql start
Run Code Online (Sandbox Code Playgroud)

不要忘记exitsu 模式。

现在 mySQL 服务器已启动并正在运行。你可以用root登录:

mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

或任何你想要的。密码使用有效。

就是这样。

  • 这让我走了。与抱怨参数 --skip-grant-tables 不存在的 `mysqld_safe` 有所不同,我使用了 `mysqld`。然而它一直抱怨它无法在`/var/run/mysqld/`中创建套接字文件。我检查了 apparmor 配置,它具有适当的权限。为了解决这个问题,我必须`mkdir /var/run/mysqld/` 然后给予完全开放的权限:`chmod -R 777 /var/run/mysqld/`。然后我终于可以启动守护程序并将插件更改为“mysql_native_password”。 (2认同)

小智 12

这是我执行此操作的步骤:

/etc/init.d/mysql stop
sudo killall mysqld_safe
sudo killall mysqld
sudo mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
update user set password=PASSWORD("mynewpassword") where User='root';
update user set plugin="mysql_native_password";
quit;
/etc/init.d/mysql stop
sudo kill -9 $(pgrep mysql)
/etc/init.d/mysql start
Run Code Online (Sandbox Code Playgroud)

  • 现在在“mysql -u root”之后我得到:ERROR 1524 (HY000): Plugin 'root' is not loaded (2认同)