什么是unix_socket plugin?
是一种安全机制,允许使用操作系统的安全机制连接数据库,通过unix_socket组件,通常使用用在Ubuntu 15.04+以上的系统中。
解决的方法:
1. 尝试登陆mysql的命令, mysql -u root -p, 如果看到如下错误,则需要进入步骤2,否则直接进入步骤6.
bladestone@bladestone-laptop:~$ sudo mysql -u root -p
Enter password:
ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded
这个原因是由于当前使用的unix_socket来进行连接,但是缺省的用户也无法进行访问。
2. 停止服务,使用设置native方式来访问,重置缺省密码
>> sudo systemctl stop mariadb # 停止服务
>> sudo mysqld_safe --skip-grant-tables & # 进入安全模式,并设置为后台进程
>> mysql -u root # 登陆mysql
>> select Host,User,plugin from mysql.user where User='root'; # 查询用户
>> update mysql.user set plugin='mysql_native_password'; #重置加密模式
>> update mysql.user set password=PASSWORD("newpassword") where User='root'; #重置密码
>> flush privileges; #刷新权限信息
>> exit
>> sudo kill -9 $(pgrep mysql) # 杀掉进程
>> sudo service mariadb start # 重新启动服务
3. 登陆mysql, 安装unix_soket
>> mysql -u root -p
>> install plugin unix_socket soname 'auth_socket';
————————————————
版权声明:本文为CSDN博主「bladestone」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/blueheart20/article/details/52206458