Debian で、MySQL をインストールしていて、MySQLを止めようと
/etc/init.d/mysql stop
と入力すると、
Stopping MySQL database server: mysqld failed!
と表示されて落とせない、という症状に陥りました。
この症状になった原因がよく分からなかったのですが、もしかすると、他のMySQLから全体をdumpしたものを読み込ませたことにあるのかもしれません。
/var/log/syslog にエラーが吐き出されおり、それによると /etc/mysql/debian.cnf ファイルに何かあることがわかります。それ以外のエラーが起こっている場合は、以下の手順を試すと余計にコケる可能性があります。あくまでも自己責任にてお願いします。
そのファイルには、 debian-sys-maint アカウントなるものの情報が記載されています。早速
mysql -u root --password=password mysql
と mysql データベースに root として接続します。
root のパスワードが分からない場合は・・・。はて・・・、/etc/init.d/mysql を削除して再起動して、パッケージを再インストールでもしてください。
mysql> select * from user where user='debian-sys-maint';
でユーザ情報を確認します。存在している場合は
mysql> update user set password=password('hogehoge');
としてパスワードを変更します。(hogehoge は /etc/mysql/debian.cnf ファイルに記載のものを書きます。)
存在しない場合は、
mysql> grant all privileges on *.* to debian-sys-maint@localhost identified by 'hogehoge' with grant option;
と、ユーザを作ります。
これで、mysql をストップできるはずです。
0 件のコメント:
コメントを投稿