背景
AWSのEC2にデプロイするためにmysqlに入ろうとしたがパスワードが間違っていて入れず、パスワードを思い出すこともできなかったので再設定しました。
##/etc/my.cnf
vimで/etc/my.cnfを開き、[mysqld]の下にskip-grant-tablesと書きます。
/etc/my.snf
[myaqld]
skip-grant-tables
##mysqlを再起動
mysqlを再起動します。
sudo service mysqld restart
##mysqlに接続
mysql -u root
mysqlに接続し、以下のように入力することでDB内のテーブルを再読み込みします。
mysql> flush privileges;
##新しいパスワードを設定!
alter user 'root@localhost' identified by '新しいパスワード'
新しいパスワードを設定したらDBから退出し、
mysql> quit
vim /etc/my.cnf内のskpip-grant-tablesを削除します。(あるいはコメントアウト)
そしてmysqlを再起動します。
##ついに接続!
mysql -u root -p
を入力し、先ほど作成したパスワードで接続できれば、パスワードの再設定は成功です!