はじめに:
MYSQLがサーバーで構成されている場合、デフォルトでサーバーに関連するすべてのIpsへのアクセスが許可されます。特定のIPへのアクセスのみを提供し、残りのIPへのアクセスを禁止する場合は、Iptablesにアクセスし、以下のように構成する必要があります。
サーバーのIptablesにアクセスするには、以下の手順に従ってください。
(1)Iptablesにアクセスする:
(i)ターミナルを開く
(ii)SSH経由でサーバーにアクセスします。
(iii)次のコマンドを入力します:
vim /etc/sysconfig/iptables
コマンドを入力すると、サーバーのIptablesが表示されます。
IPテーブルは以下の画像のようになります:
(2)Iptablesを構成します:
次のステップは、目的を達成するための情報を追加することです。
以下に説明するようにIptablesを編集します:
(i)「i」を押して編集モードをオンにします。
(ii)以下の情報をIptablesに追加します:
-A INPUT -p tcp 192.xxx.45.x --dport 3306 -j ACCEPT -A INPUT -p tcp 192.xxx.45.x --dport 3306 -j DROP
上の画像の指示に従ってIpsを入力します。
(iii)コマンドとIpsを正しく入力したかどうかを確認してから、 Escを押します。 。
(iv)保存するには、 :wq!と入力します Enterキーを押すと、加えられた変更が保存されます。
(3)Iptablesを再起動します:
ターミナルで次のコマンドを入力してIptablesを再起動し、変更を有効にします。
/etc/init.d/iptables restart
(4)MYSQL構成:
Iptablesを再起動すると、MYSQLポータル経由でアクセスを許可することになります。
次のコマンドを入力してMYSQLにアクセスします。
mysql -u root -p
MYSQLパスワードの入力を求められます。
パスワードを入力し、以下のコマンドを入力します:
mysql> use mysql
次に、次のコマンドを入力します
mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'1.2.3.4' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
1.2.3.4の代わりにMYSQLへのアクセスを許可するIPを入力し、ユーザー名とパスワードを上記の例の実際のユーザー名とパスワードに置き換えます。
Enterキーを押します。
行が変更されたことを示すプロンプトが画面に表示されます。
次に、次のコマンドを入力して、フラッシュ権限にアクセスします。
mysql> Flush Privileges;
最後に、テスト接続コマンドを実行します。