[MySQL] MySQLへ外部ホストからの接続設定

MySQL

MySQLのデータベース設定など、phpMyAdminなどが使われることが多いが、MySQL WordbenchやDBDesigner4などのツールを使って、リモートで同期をかけたい場合が多々ある。

その場合、MySQLに外部ホストからの接続を許可する必要がある。

その場合、外部接続用のユーザー設定を以下のように追加する。


まずは、rootユーザーでログインする。

# mysql -u root -p
>*****
mysql>

このmysqlコンソール上で、以下のようにユーザー情報を打ち込む。
mysql> grant all privileges on *.* to mysql@"%" identified by 'somepasswd' with grant option;
mysql> flush privileges;

上記は、すべてのデータベースに対して、すべてのホストから、ユーザー「mysql」、パスワード「somepasswd」で接続できる、ということになる。

「%」はすべてのホストを意味する。

ホストを指定したいのであれば、

mysql> grant all privileges on *.* to mysql@"192.168.0.1/255.255.255.255" identified by 'somepasswd' with grant option;

と言う風にすればホストを限定できる。

これでMySQLの情報を見てみよう。

mysql> select user,host,password from mysql.user;
+-------+-----------+------------------+
| user | host | password |
+-------+-----------+------------------+
| root | localhost | 6a77f1277b51f67f |
| mysql | % | 6a77f1277b51f67f |
+-------+-----------+------------------+
5 rows in set (0.00 sec)

となる。

基礎からのMySQL [基礎からのシリーズ] (プログラマの種シリーズ)