FreeBSD/Mysql/外部接続 の変更点


**''&size(15){MySQLに外部から接続できるようにする。};'' [#keebf901]

[[dokuwiki.fl8.jp転載済>http://dokuwiki.fl8.jp/doku.php/02_freebsd/04_database/01_mysql/other_connect]]
[[dokuwiki.fl8.jp転載済>http://dokuwiki.fl8.jp/doku.php/02_freebsd/04_database/01_mysql/%E5%A4%96%E9%83%A8%E6%8E%A5%E7%B6%9A]]

localhost以外から接続できるようにする方法。~
ローカルLAN以外からの場合、ポートを空ける必要があります。~
セキュリティ上良くないので、今回はローカルLAN内だけの設定を記述します。~

**''ユーザの確認'' [#v264c404]
▼現在のユーザの確認。~
 # mysql -u root -p
 mysql> select User,HOST,Password from mysql.user;
 +--------------+---------------------+------------------+
 | User         | HOST                | Password         |
 +--------------+---------------------+------------------+
 | root         | localhost           | 284e59d71f64e3ec |
 | root         | vaio.mydomain.co.jp | 284e59d71f64e3ec |
 | vpopmailuser | localhost           | 7d60b94d42e45b72 |
 | xoops        | localhost           | 3cf31278467575ed |
 | stats        | localhost           | 3cf31278467575ed |
 +--------------+---------------------+------------------+
 6 rows in set (0.00 sec)
**''ユーザを追加'' [#ud68e162]
▼ユーザ名:vpopmailuser パスワード:vpopmailpass DB:vpopmail~
HOSTは192.168.1.% ~
※%はワイルドカード。この場合192.168.1.のネットワークからの接続の意味。~
 mysql> GRANT ALL ON vpopmail. * TO vpopmailuser@'192.168.1.%' IDENTIFIED BY "vpopmailpass";
 Query OK, 0 rows affected (0.00 sec)
▼追加されたか確認。~
 mysql> select User,HOST,Password from mysql.user;
 +--------------+---------------------+------------------+
 | User         | HOST                | Password         |
 +--------------+---------------------+------------------+
 | root         | localhost           | 284e59d71f64e3ec |
 | root         | vaio.mydomain.co.jp | 284e59d71f64e3ec |
 | vpopmailuser | localhost           | 7d60b94d42e45b72 |
 | xoops        | localhost           | 3cf31278467575ed |
 | stats        | localhost           | 3cf31278467575ed |
 | vpopmailuser | 192.168.1.%         | 7d60b94d42e45b72 |
 +--------------+---------------------+------------------+
 6 rows in set (0.00 sec)
 
 mysql> select Host,Db,User from db;
 +-------------+------------+--------------+
 | Host        | Db         | User         |
 +-------------+------------+--------------+
 | 192.168.1.% | vpopmail   | vpopmailuser |
 | localhost   | phpstats   | stats        |
 | localhost   | vpopmail   | vpopmailuser |
 | localhost   | xoops      | xoops        |
 +-------------+------------+--------------+
 9 rows in set (0.01 sec)

これで、192.168.1.からの接続で、DB:vpopmailにユーザ:vpopmailuserパスワード:vpopmailpassでアクセスできるようになります。

**''接続確認'' [#p97004e4]
 $ mysql -h [hostname] -u [username] -p[password]

**''ユーザの削除'' [#bd412b8f]
▼これで、vpopmailuserは削除されます。
 mysql> DELETE FROM mysql.user WHERE user='vpopmailuser' and host='192.168.1.%';
 mysql> FLUSH PRIVILEGES;