MySQLをDebianに通常インストールすると、データベースへの外部接続をブロックするように構成されます。
これは、外部アクセスがOKであることをMySQLに通知する必要があることを意味します。これを行うには、MySQLのバインドアドレスを更新する必要があります。これはmy.cnf
で構成されます 、Debianベースのシステムでは、/etc/mysql/my.cnf
にあります。 。
そこに、「
」というセクションがあります。[mysqld]
そこでは、次のことを確認する必要があります
-
skip-networking
の行 コメントされている(コメントは「#」で始まる)か、そこにないかのいずれかであり、 - Bind-addressは
0.0.0.0
のいずれかに設定されます (回線バインドアドレスがない場合)またはサーバーのIPアドレス。
これを行った後、MySQLサービスを再起動する必要があります。次に、リモートアクセスを許可するユーザーを作成する必要があります。これはSQLクエリで実行できます:
GRANT ALL ON yourdatabase.* TO [email protected]'*' IDENTIFIED BY 'yourpassword';
毎回同じである場合は、接続元のIPアドレスのアスタリスクを切り替えることができます。
最後に、ファイアウォールでポート3306(MySQLが使用するポート)を開く必要があります。ほとんどのシステムですでに開いているため、これは通常は必要ありませんが、次のiptablesコマンドを使用して実行できます。
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
service iptables save
出典: 1