MySQL サーバを停止します。
//CentOS
$ sudo mysql.server stop
//Ubuntu/Debian
$ sudo service mysql stop
セーフモードで起動します。
$ sudo mysqld_safe --skip-grant-tables &
MySQLのインストール方法によって、以下のエラーでセーフモードで起動しない場合があります。
mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists
mysqld フォルダがないのが原因を作成します。
$ sudo mkdir -p /var/run/mysqld
$ sudo chown mysql:mysql /var/run/mysqld
root でログインできるか確認してみましょう。
$ mysql -u root
またアプリの MySQL ユーザが root の場合は、設定も変更しておきましょう。
root でログインします。
$ mysql -u root
root ユーザーのパスワードを空に設定します。 もしパスワードを設定したい場合は、null の部分を文字列で入力してください。
mysql>
UPDATE user SET authentication_string=password('新しいパスワード') WHERE user='root';
MySQL からログアウトします。
mysql> exit
セーフモードのMySQL を終了し、MySQL を起動します。
//CentOS
$ sudo mysql.server restart
//Ubuntu
$ sudo service mysql restart