在搭建kali linux的web环境时候,发现 MariaDB 配置变了,安装过程没有输入密码的提示,能直接进,而且无法用 mysqladmin 更改密码,这就导致 phpmyadmin 等本地 web 服务失效,查找了很多资料终于在askubuntu上找到方法。
0x00 问题原因
mysql 认证使用的方法是 unix_socket,把其改成 mysql_native_password 即可。
0x01 解决办法
把mysql服务关闭
sudo service mysql stop
在启动mysql时不启动grant-tables授权表
mysqld_safe --skip-grant-table &
根权限打开mysql
mysql -uroot
进到MariaDB
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
kill -9 $(pgrep mysql) 杀掉进程
然后打开mysql服务
service mysql start
最后退出根权限,再进 MariaDB 就已经可以使用密码了
sqli-labs也可以正常连接数据库了。
Reference:
原文:https://askubuntu.com/questions/705458/ubuntu-15-10-mysql-error-1524-unix-socket