*

MySQL:外部ホストからのDBアクセス方法

公開日: : 最終更新日:2014/12/23 未分類


MySQLではデフォルトで外部ホストからのアクセスを許可していないので、外部ホストからアクセスする為には設定を行う必要があります。今回は、全ての外部ホストからアクセスする方法、ローカルエリア内のホストからアクセス方法等を掲載したいと思います。

 

登録ユーザーの確認

mysql> select user, host from mysql.user;
+----------------+-----------+
| user           | host      |
+----------------+-----------+
| root           | 127.0.0.1 |
| root           | localhost |
| testuser       | localhost |
+----------------+-----------+

上記をみるとrootは127.0.0.1とlocalhostから、testuserはlocalhostからの接続が許可されています。つまり、localhost以外からのアクセスは許可されていません。
下記の通り、testdbというデータベースを用意してありますので、testdbに対してtestuserで外部ホストからアクセスできるように変更していきます。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| testdb             |
+--------------------+

 

全てのホストからの接続を許可

testdbに対して全てのホストからの接続を許可するには下記のコマンドを実行します。

mysql> grant all privileges on testdb.* to testuser@"%" identified by 'パスワード' with grant option;

登録ユーザーを確認すると次のように変更されていることが確認できます。

mysql> select user, host from mysql.user;
+----------------+-----------+
| user           | host      |
+----------------+-----------+
| root           | 127.0.0.1 |
| root           | localhost |
| testuser       | localhost |
| testuser       | %         |
+----------------+-----------+

%はワイルドカードなので、testuserの許可hostとして全てのホストが指定されているのが分かるかと思います。

 

ローカルエリア内のホストからの接続を許可

testdbに対してローカルエリア内のホストからの接続を許可するには下記のコマンドを実行します。

mysql> grant all privileges on testdb.* to testuser@"192.168.1.%" identified by 'パスワード' with grant option;

登録ユーザーを確認すると次のように変更されていることが確認できます。

mysql> select user, host from mysql.user;
+----------------+-------------+
| user           | host        |
+----------------+-------------+
| root           | 127.0.0.1   |
| root           | localhost   |
| testuser       | localhost   |
| testuser       | 192.168.1.% |
+----------------+-------------+

先ほどと同様にtestuserの許可hostが192.168.1.%となっているのでローカルエリア内のホストが指定されているのが分かるかと思います。

あとは外部ホストからの接続確認を行い、DBを参照できれば完了です。

#  mysql -h '接続ホスト' -u testuser -p

 

不要になったユーザーの削除

一時的に外部ホストからの接続を許可した場合、セキュリティ面を考慮すると作業完了後に元に戻す必要があります。rootでログイン後、下記コマンドで不要となったユーザーを削除します。

drop user 'testuser'@'対象のホスト';
// 例: drop user 'testuser'@'%';

 

ad_right_top

関連記事

no image

2015:新年のご挨拶

明けましておめでとうございます。 昨年はたくさんの方々に当ブログをご利用頂きましてまことにあり

記事を読む

blog_logo_small

javascript(jQuery):複数の連想配列を結合する方法

複数の連想配列をマージすることができるjQueryのメソッド、extendについてです。 &n

記事を読む

blog_logo_small

wkhtmltopdf:URLからキャプチャを作成する。

wkhtmltopdf URLからサイトのキャプチャを作成するツールの紹介です。 サイトのリ

記事を読む

google以外広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

ad_right_top

linux-pen
【cron】秒間隔で定期実行する為の設定方法

コマンドを定期実行させたい場合に利用するcronですが、普通に利用する

blog_logo_small
【Apache】 ReverseProxy(リバースプロキシ)を設定してサブディレクトで別サーバーの内容を表示

今回はApacheのリバースプロキシ設定について紹介したいと思います。

blog_logo_small
【Apache】 Aliasを設定してサブディレクトでDocumentRoot以外を参照する

今回はApacheのAlias設定について紹介したいと思います。この方

no image
2015:新年のご挨拶

明けましておめでとうございます。 昨年はたくさんの方々に当ブログ

blog_logo_small
MySQL:外部ホストからのDBアクセス方法

MySQLではデフォルトで外部ホストからのアクセスを許可していないので

→もっと見る

  • アクセスカウンター
PAGE TOP ↑