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)で接続設定を作成するか、普段使っているクライアントがあればそれを使って、接続してみてください。