MySQLで外部ホストのデータベースにクエリを送りたい
最近開発するために開発する環境を作っている私です。
MySQLで外部ホストにたいしてSQLを送るにはどうしたらいいのかなーと悩んでいたのですが、あっさり解決したのであっさりメモします。
まとめ
- MySQLにおいて基本的に外部ホストへはアクセスできないようになっている
- MySQLにおいてデータベースにどこのホストからアクセスするかはそのホストのmysqlデータベースのuserテーブルに入っているユーザー情報で管理
- 外部ホストにアクセスしたい場合は、アクセスしたいホストにアクセス元のサーバからのアクセスを許可したユーザーを作ってあげる
// 接続先のホストにて接続元のホスト(client_host)からアクセスするユーザーを作成 mysql> GRANT ALL PRIVILEGES ON target_database.* TO access_user@client_host IDENTIFIED BY 'pass'; mysql> SELECT host,user FROM mysql.user; +------------------------------------+---------------+ | host | user | +------------------------------------+---------------+ | client_host | access_user | +------------------------------------+---------------+ // client_host上から mysql -u access_user -h target_host target_database < request.sql // 省略してますが、パスワードの入力あり