DB トラブル対応

MariaDB の plugin に 誤って auth_socket を設定してしまい、DBのrootにアクセスできなくなってしまった場合の復旧メモ

$ sudo /etc/init.d/mysql stop
$ sudo killall mysqld_safe
$ sudo killall mysqld
$ sudo lsof -i:3306
$ sudo mysqld_safe --skip-grant-tables &
$ mysql -u root 
mysql> use mysql;
mysql> update mysql.user set plugin='unix_socket' where plugin='auth_socket';
mysql> update user set plugin='unix_socket' where User='root';
mysql> flush privileges;
mysql> \q
$ sudo killall mysqld_safe
$ sudo killall mysqld
$ sudo systemctl restart mysql.service
$ sudo mysql -u root