MySQL 被替换成 MariaDB 了,安装过程没有输入密码的提示,能直接进,而且无法用 mysqladmin 更改密码,这就用不了 phpmyadmin 等本地 web 服务了,在 askubuntu 上找到了答案,可以给 MariaDB 改回密码。
原文:https://askubuntu.com/questions/705458/ubuntu-15-10-mysql-error-1524-unix-socket
问题原因:mysql 认证使用的插件是 unix_socket,但现在已经被移除,把插件改成 mysql_native_password 即可:
- 确保在 root 权限下操作:
sudo su
- 关闭 mysql 服务:
service mysql stop
- 在启动 mysql 时不启动 grant-tables 授权表:
mysqld_safe --skip-grant-table &
- root 用户打开 mysql:
mysql -uroot
- 进到 MariaDB,使用 mysql 数据库:
MariaDB [(none)]> use mysql
- 重置密码:
MariaDB [(mysql)]>update user set password=PASSWORD("YourNewPassword") where User='root';
- 更改认证方法(移除unix_socket的请求,换成mysql_native_password)
MariaDB [(mysql)]>update user set plugin="mysql_native_password";
- 退出 MariaDB:
MariaDB [(mysql)]>quit;
- 关闭 mysql 服务:
service mysql stop
- 并且杀掉 mysql 进程:
kill -9 $(pgrep mysql)
- 启动 mysql 服务:
service mysql start
至此,MariaDB 已经可以使用密码了。