mysql root が、同一ネットワークからアクセスする設定

MySQL の root ユーザーが 同一ネットワーク(例:192.168.0.xxx) からアクセスできるようにするには、以下の2つの設定が必要です:


目次

✅ ① MySQLサーバーの設定ファイル(my.cnf)を確認・編集

📂 設定ファイルの場所(例)

  • Linux(Debian系):/etc/mysql/mysql.conf.d/mysqld.cnf
  • Linux(RHEL系):/etc/my.cnf
  • Windows:C:\ProgramData\MySQL\MySQL Server X.Y\my.ini

✏️ 以下の設定を確認または変更:

[mysqld]
bind-address = 0.0.0.0

🔍 説明:

  • 127.0.0.1 → ローカルホストのみ接続可
  • 0.0.0.0 → すべてのIPアドレスから接続可
  • または 192.168.0.100 など特定のアドレスでもOK

✅ 設定変更後にMySQLを再起動:

sudo systemctl restart mysql

✅ ② rootユーザーのホスト許可設定

MySQLユーザー root は通常、'root'@'localhost' として登録されており、外部からの接続は拒否されます

🔁 対応:同一ネットワークからの接続を許可するユーザーを追加

CREATE USER 'root'@'192.168.0.%' IDENTIFIED BY 'your_root_password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.%' WITH GRANT OPTION;

🚨 重要: 上記のパスワードは、localhost の root のものと同じにするか、新しく設定してください。


🔐 セキュリティ上の注意点

  • root に外部からアクセスさせるのは危険性が高いため、必要最低限のネットワークに制限してください(例:192.168.0.100 のみにするとよい)。
  • ufwfirewalld 等のファイアウォール設定で 3306 ポートを制限することも推奨です。

✅ 確認:MySQLに外部から接続できるか?

mysql -u root -h 192.168.0.100 -p

成功すれば設定完了です。


必要であれば、MySQL Workbench や phpMyAdmin からの接続確認方法も説明できます!

よかったらシェアしてね!
目次