MySQL データベースサーバへのリモートアクセスを有効化するには

Created:

2016-11-16 12:41:14 UTC

Modified:

2017-08-18 11:44:13 UTC

21

Was this article helpful?


Have more questions?

リクエストを送信

MySQL データベースサーバへのリモートアクセスを有効化するには

Applicable to:

  • Plesk

解決策

Plesk 8 以降では、MySQL ユーザとデータベースは、外部からデータベースへのアクセスを許可するパーミッション付きで作成されるようになっています。それ以前のバージョンの Plesk では、MySQL ユーザとデータベースは、ローカルホストからデータベースへのアクセスのみを許可するパーミッション付きで作成されます。ところが、リモートアクセスを提供する必要が生じる場合があります。

/etc/my.cnf を開き、以下の行が [mysqld] セクションに存在するかコメント化されているかを確認します。

[mysqld]
port = 3306
bind-address = 10.10.0.1
# skip-networking
....

ここで、

* bind-address : 紐付けられるローカル IP アドレス。mysql がすべての IP アドレスを listen するようにするには、このオプションを使用しないでください。

* skip-networking : TCP/IP 接続を一切 listen しません。mysqld とのやりとりは、すべてUnix ソケット経由で行う必要があります。このオプションは、ローカルリクエストのみが許可されるシステムに対して強く推奨します。リモート接続を許可する必要があるため、この行をファイルから削除するか、コメント化する必要があります。

MySQL を再起動します。次に、リモート IP アドレスへのアクセスを付与する必要があります。Mysql にログインします。

    # mysql -uadmin -p`cat /etc/psa/.psa.shadow` mysql

例えば、データベース 'foo' へのアクセスをユーザ 'bar' とリモート IP アドレス 192.168.0.1 に対して許可したい場合、"mysql>" プロンプトに以下のコマンドを入力する必要があります。

mysql> GRANT ALL ON foo.* TO bar@'192.168.0.1' IDENTIFIED BY 'PASSWORD';
mysql> REVOKE GRANT OPTION ON foo.* FROM bar@'192.168.0.1';
他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。