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のみにするとよい)。ufwやfirewalld等のファイアウォール設定で3306ポートを制限することも推奨です。
✅ 確認:MySQLに外部から接続できるか?
mysql -u root -h 192.168.0.100 -p
成功すれば設定完了です。
必要であれば、MySQL Workbench や phpMyAdmin からの接続確認方法も説明できます!
