MySQLへODBCなどを使ってリモート接続するための設定

2017.8.30

MySQLを開発サーバなどにインストールした後、別の端末からODBCなどを使って接続するときに参考にしていただけたらと思います。

初めに

LinuxのMySQLを想定しています。

SSHクライアントを使ってLinuxのサーバへ接続してください。

mysqlの設定ファイルを編集

接続できるIPアドレスの設定を変更するため、mysqld.cnfをviなどのエディタで開きます。

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

bind-addressの記載があるところを修正します。

もともと記載されている設定は、コメントアウトするか削除か書き換えてください。

# 変更前
bind-address       = 127.0.0.1

# 変更後
bind-address       = 0.0.0.0

サービス再起動。

コマンドは環境合わせて実行してください。

sudo /etc/init.d/mysql restart

or

sudo service mysql restart

接続するユーザの権限を付与

mysqlにログインします。

$ mysql -u root -p

mysqlというデータベースに接続し、hogehogeというodbc接続用のユーザを作成します。

権限を与えるためのコード書式。

GRANT ALL PRIVILEGES ON [データベース名].* to [ユーザ名]@"[IPアドレス]" IDENTIFIED BY '[パスワード]';

実際に実行する例。

どこからでも接続できるように、IPアドレスをワイルドカード「%」にしています。

mysql> GRANT ALL PRIVILEGES ON hogetable.* to hogeuser@"%" IDENTIFIED BY 'hogepassword';

接続する

Windowsのデータソース(ODBC)で接続設定を作成するか、普段使っているクライアントがあればそれを使って、接続してみてください。