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 からの接続確認方法も説明できます!