MySQLのrootパスワード変更:コマンドラインとGUIツール
MySQLのrootパスワードは、MySQLサーバーへの接続やデータベースの管理を行う際に必要となる重要なパスワードです。セキュリティ上の理由から、定期的に変更することを推奨しています。
パスワード変更方法
MySQLのrootパスワード変更方法は、以下の2つがあります。
- MySQLコマンドラインツールを使用する
- MySQL WorkbenchなどのGUIツールを使用する
以下の手順で、MySQLコマンドラインツールを使用してrootパスワードを変更することができます。
- MySQLサーバーを停止する
sudo service mysql stop
- mysqld_safeコマンドを実行して、パスワード変更オプションを指定する
sudo mysqld_safe --skip-grant-tables &
- MySQLクライアントに接続する
mysql -u root
- パスワード変更用のSQLクエリを実行する
UPDATE mysql.user SET password = PASSWORD('新しいパスワード') WHERE user = 'root';
- 権限テーブルをフラッシュする
FLUSH PRIVILEGES;
sudo service mysql start
MySQL WorkbenchなどのGUIツールを使用する場合は、以下の手順でrootパスワードを変更することができます。
- GUIツールを起動し、MySQLサーバーに接続する
- ユーザー管理画面を開く
- rootユーザーを選択し、パスワード変更ボタンをクリックする
- 新しいパスワードを入力して、保存ボタンをクリックする
注意事項
- パスワード変更を行う際は、安全性の高いパスワードを設定してください。
- パスワードは第三者に漏洩しないよう、注意してください。
- パスワード変更後に、接続設定等が変更されていないことを確認してください。
- 上記以外にも、様々な方法でMySQLのrootパスワードを変更することができます。
- ご利用の環境や状況に合わせて、適切な方法を選択してください。
# MySQLサーバーを停止する
sudo service mysql stop
# mysqld_safeコマンドを実行して、パスワード変更オプションを指定する
sudo mysqld_safe --skip-grant-tables &
# MySQLクライアントに接続する
mysql -u root
# パスワード変更用のSQLクエリを実行する
UPDATE mysql.user SET password = PASSWORD('新しいパスワード') WHERE user = 'root';
# 権限テーブルをフラッシュする
FLUSH PRIVILEGES;
# MySQLサーバーを再起動する
sudo service mysql start
- MySQL Workbenchを起動し、MySQLサーバーに接続する
- ナビゲーション ペインで ユーザー を選択する
- ユーザー リストで root ユーザーを選択する
- パスワード 欄に新しいパスワードを入力する
- 適用 ボタンをクリックする
- 上記のサンプルコードは、MySQL 8.0を想定しています。
- ご利用の環境や状況に合わせて、コードを修正する必要があります。
MySQLのrootパスワード変更方法:その他の方法
mysqld_safe --init-file オプションを使用する
この方法は、パスワード変更用のSQLクエリを含む初期化ファイルを使用して、rootパスワードを変更することができます。
手順
- パスワード変更用のSQLクエリを含む初期化ファイルを作成する
# パスワード変更用のSQLクエリ
UPDATE mysql.user SET password = PASSWORD('新しいパスワード') WHERE user = 'root';
sudo service mysql stop
sudo mysqld_safe --init-file=/path/to/init-file --skip-grant-tables &
mysql -u root
FLUSH PRIVILEGES;
sudo service mysql start
init-file オプションを使用してMySQLサーバーを起動する
# パスワード変更用のSQLクエリ
UPDATE mysql.user SET password = PASSWORD('新しいパスワード') WHERE user = 'root';
sudo mysqld_safe --init-file=/path/to/init-file
mysql -u root
FLUSH PRIVILEGES;
Dockerを使用している場合は、以下のコマンドを実行してrootパスワードを変更することができます。
docker exec -it mysql bash
mysql -u root -p
# パスワード変更用のSQLクエリを実行する
UPDATE mysql.user SET password = PASSWORD('新しいパスワード') WHERE user = 'root';
FLUSH PRIVILEGES;
exit
クラウドサービスを使用する
AWS RDSなどのクラウドサービスを使用している場合は、サービスのコンソールを使用してrootパスワードを変更することができます。
- 上記の方法は、MySQLのバージョンや環境によって異なる場合があります。
mysql database passwords