webサーバー1とwebサーバー2からマスタDBサーバーに外部接続できるようにする

マスタDBの現在のMySQLユーザーはこうなってます。

mysql> SELECT user, host FROM mysql.user ORDER BY user, host;

+-----------+-----------+

| user      | host      |

+-----------+-----------+

| mysql.sys | localhost |

| root      | localhost |

+-----------+-----------+

2 rows in set (0.00 sec)

 

外部接続するmaster_dataというdatabaseを作成しておきます。

mysql> create database master_data;

 

・webサーバー1からアクセスできるMySQLユーザーを追加します。

master_dataというデータベース全体にselect、insert、update、deleteができる権限をweb1ユーザーに与えます。

mysql>  GRANT SELECT, INSERT, UPDATE, DELETE ON master_data.* TO 'web1'@'webサーバー1のIPアドレス' IDENTIFIED BY 'パスワード';

・ユーザー追加を反映する。

mysql> flush privileges;

 

・ユーザーが追加されたことを確認する

mysql> SELECT user, host FROM mysql.user ORDER BY user, host;

・権限が付与されているかも確認する

mysql> show grants for 'web1'@'webサーバー1のIPアドレス';

 

・マスタDBサーバーの3306ポートを開けます。

vi /etc/sysconfig/iptables

-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPTを追加。

他のサーバーの設定時と同様にiptablesをインストールし起動します。

 

・webサーバー1でmysqlコマンドを使用するためmysqlもインストールしておきます。

 

・webサーバー1からマスタDBサーバーのDBにアクセスできるか確認します。

mysql -u web1 --password="パスワード" -h マスタDBのIPアドレス master_data

これでマスタDBのMySQLに入れれば成功です。

 

webサーバー2も同じことを行います。