MySQL server リモート接続設定

よく忘れるのでメモ。リモートからMySQL Serverに接続する場合は,下記のコマンドを叩く。

GRANT ALL PRIVILEGES ON *.* TO 'hoge'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION
  • *.*

  • 全てのデータベースとテーブルに対して権限を付与する。
  • '%'

  • ワイルドカードなので、この場合は全てのホストからのリモート接続を許可。
  • WITH GRANT OPTION

  • データーベースやテーブルに対して、自分の持つ権限を他ののユーザへ付与。

    さらに、my.confの中に記述されている下記をコメントアウト

    bind-address = 127.0.0.1
    この記述が有効だと、MySQLserverはlocalhostからのみの接続しか受け付けない。*1

    mysql -u hoge -p password -h 192.168.xxx.xxx 
    で接続する。

    *1:ssh -L 3306:localhost:3306 hoge@192.168.xxx.xxxとPort Forwardingして接続すれば、bind-addressの記述しなくても接続可。