微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我的本地环境是:

新鲜的Ubuntu 16.04

PHP 7

与安装的MysqL 5.7

sudo apt-get install MysqL-common MysqL-server

当我尝试login到MysqL(通过CLI):

MysqL -u root -p

我经历了三个步骤的循环问题。

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

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

解决scheme:重新启动电脑。

这导致了另一个错误

2)访问被拒绝

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

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

解决scheme: 使用本教程重置root密码 。

有了正确的密码和工作套接字,就出现了最后的错误

3)不正确的authentication插件

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.运行bash命令

# 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

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 MysqL -u root -p root # try login to database

盲路径和可能的边缘错误

使用127.0.0.1而不是localhost

MysqL -uroot # "-hlocalhost" is default

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

MysqL -uroot -h127.0.0.1

效果更好。

跳过套接字问题

我已经找到了许多方法来创建MysqLd.sock文件,更改访问权限或符号链接它。 毕竟这不是问题。

跳过my.cnf文件

这个问题也不在那里。 如果你不确定, 这可能会帮助你 。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐