たまにやってしまうので備忘録として。
CentOS、MySQL5系を想定
MySQLの停止
起動していたらMySQLを停止してください
sudo service mysqld stop
MySQLをセーフモードで起動
sudo mysqld_safe --skip-grant-tables &
MySQLへrootログイン
パスワードは不要でログインできます
mysql -u root
rootパスワードのリセット
use mysql;
update user set password=PASSWORD("YOUR_NEW_ROOT_PASSWORD") where User='root';
flush privileges;
YOUR_NEW_ROOT_PASSWORDにお好みのパスワードを入力してください。
セーフモードで起動してたMySQLを停止し通常モードで起動
sudo service mysqld stop
sudo service mysqld start
これでOK.