カテゴリー別アーカイブ: MySQL

外部ホストからMySQLへ接続する

これまで、開発用にはphpmyadminなどを利用していましたが、

本番環境へは、コマンドラインから直接管理を行っていました。

今回、外部ホストから直接MySQLに接続して管理できるツールが存在することを知ったので、方法をまとめます。

MySQL管理ソフトを導入

まず、MySQL管理ソフトをインストールします。

自分は、Macを利用しているので、「Sequel Pro」というツールを導入しました。

ツールのインストールは特に特筆すべき点はないので割愛します。

MySQLで外部ホストからの接続を許可する

上記ツールを導入して、MySQLへ接続しようとすると、

MySQLへの接続中にエラーが発生しました。

調べてみると、下記サイトに記載されているように、MySQLへデフォルトで外部ホストからの接続が許可されていないようです。

外部ホストからのMySQLへの接続許可設定を行います。

// MySQLへ接続
mysql -u root -p
// パスワード入力
Enter password: 
// 一覧表示
mysql> select user,host from mysql.user;
+--------+-------------------------+
| user | host |
+--------+-------------------------+
| root   | 127.0.0.1               |
| apache | localhost               |
| root   | localhost               |
| root   | hogehoge.jp             |
+--------+-------------------------+

// 上記はすべてローカル接続しか許可していないので、外部からの接続許可をする。
// ※データベースの一覧確認をし、外部接続を許可するDBをきめる。
mysql> show databases; 
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| hoge_db            |
+--------------------+
// ユーザ名”apache″、接続する外部ホストは”127.0.0.1”、利用するDBは”hoge_db”で設定する場合次のようになる。
mysql> grant all privileges on hoge_db.* to apache@"127.0.0.1" identified by 'your password' with grant option;

すべてのDBへの接続を許可する場合は[hoge_db.*]の箇所を[*.*]とする。

以上で、接続できるようになるので、MySQLの接続管理ツールで接続を試します。