ローカルのmacOSにMySQLを入れていて、長らく放置していた場合
完全にパスワード忘れている場合が多いと思います。
mysqlコマンドを使って実行してもパスワードが思い出せず
> mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Access deniedされてしまいます。
このような場合、MySQLのサービスを一旦停止しそのあと--skip-grant-tablesで起動するとmysqlコマンドでで入ることができます。
mysql.server stop mysql.server start --skip-grant-tables
mysqlコマンドでログインしたあとrootのパスワードを下記のコマンドでリセットします。
use mysql UPDATE mysql.user SET authentication_string=null WHERE User='root';
mysql.serverを再起動し
mysql -uroot -p
上記のmysqlコマンドでパスワード指定無しでログインできるようになりました。
下記のコマンドで新しいパスワードを設定します。
ALTER USER 'root'@'localhost' identified BY '新しいパスワード';
mysqlが--skip-grant-tablesのままだと下記のようなエラーが出ます
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement