mysqld_secure_installationスクリプトを使用してmacOSでMySQLのrootパスワードをリセットする
macOSでMySQLのrootパスワードをインストール後にALTER USERステートメントを使用してリセットする方法
このチュートリアルでは、macOSにMySQLをインストールした後、ALTER USER
ステートメントを使用してrootパスワードをリセットする方法を説明します。この方法は、MySQL 5.7以降で使用できます。
前提条件
- macOS
- MySQLがインストールされている
手順
- MySQLサーバーを停止する
sudo mysql -u root -p
上記のコマンドを実行すると、MySQLサーバーへの接続を求められます。rootパスワードを入力してEnterキーを押します。
パスワードが正しければ、MySQLコマンドプロンプトが表示されます。以下のコマンドを実行してMySQLサーバーを停止します。
STOP;
- MySQLサーバーを--skip-grant-tablesオプションで起動する
sudo mysqld --skip-grant-tables
- MySQLクライアントを使用して接続する
mysql -u root
- rootパスワードをリセットする
以下のコマンドを実行して、rootパスワードを新しいパスワードにリセットします。
ALTER USER root@localhost IDENTIFIED BY 'new_password';
new_passwordを新しいパスワードに置き換えてください。
- 権限をフラッシュする
以下のコマンドを実行して、権限をフラッシュします。
FLUSH PRIVILEGES;
sudo brew services restart mysql
- 新しいパスワードでMySQLにログインする
mysql -u root -p
パスワードが正しければ、MySQLコマンドプロンプトが表示されます。
補足
- この方法は、rootパスワードを忘れた場合や、セキュリティ上の理由でパスワードを変更したい場合に役立ちます。
- --skip-grant-tablesオプションを使用すると、MySQLサーバーを起動時にすべての権限チェックを無効にすることができます。これにより、rootパスワードをリセットすることができます。
- 権限をフラッシュすると、すべての権限テーブルが再読み込まれます。これにより、新しいrootパスワードが有効になります。
# MySQLサーバーを停止する
sudo mysql -u root -p
# MySQLサーバーを--skip-grant-tablesオプションで起動する
sudo mysqld --skip-grant-tables
# MySQLクライアントを使用して接続する
mysql -u root
# rootパスワードをリセットする
ALTER USER root@localhost IDENTIFIED BY 'new_password';
# 権限をフラッシュする
FLUSH PRIVILEGES;
# MySQLサーバーを再起動する
sudo brew services restart mysql
# 新しいパスワードでMySQLにログインする
mysql -u root -p
説明
- このコードは、macOSでのみ使用できます。
注意事項
- このコードを実行する前に、MySQLサーバーが停止していることを確認してください。
MySQLのrootパスワードをリセットするその他の方法
- 以下のコマンドを実行して、mysqld_secure_installationスクリプトを実行します。
sudo mysql_secure_installation
安全モードで起動してパスワードをリセットする
安全モードでMySQLサーバーを起動すると、--skip-grant-tablesオプションが有効になり、すべての権限チェックが無効になります。これにより、rootパスワードをリセットすることができます。
- 以下のコマンドを実行して、MySQLサーバーを安全モードで起動します。
sudo mysqld --safe-mode-unsafe
mysql
ALTER USER root@localhost IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
STOP;
sudo systemctl start mysql
mysql -u root -p
rootユーザーのホームディレクトリにある.my.cnfファイルには、MySQL接続設定が保存されています。このファイルを使用して、rootパスワードをリセットすることができます。
cd /root
- 以下のコマンドを実行して、.my.cnfファイルを編集します。
sudo nano .my.cnf
- [client]セクションを見つけ、以下の行を追加します。
password=new_password
sudo systemctl restart mysql
mysql -u root -p
これらの方法は、macOSにMySQLをインストールした後、rootパスワードをリセットするのに役立ちます。どの方法を使用するかは、個人の好みや状況によって異なります。
mysql macos