MySQLでrootでログインできないとか

知り合いのサーバでMySQLの質問があったので手伝ってみた。
いつもPostgresqlなのですっかり忘れてたのでメモ。

・Q
root でローカルのMySQLにログインできない

・A
セーフモード?で立ち上げてパスワードの再設定をする

現在のMySQL停止
/etc/init.d/mysqld stop

MySQLのセーフモード機動
mysqld_safe --skip-grant-tables &

ログイン
mysql -u root

mysqlデータベースへ切換え
use mysql;

パスワード再設定
update user set password=PASSWORD("XaSXzTBZeZ") where User='root';

セーフモードのMySQL停止
ps -u mysql

kill
もしくは
/etc/init.d/mysql stop

MySQL起動
/etc/init.d/mysqld start