MySQL を外部接続できるようにする
前回で MySQL をインストールしましたが、 外部から接続するために設定が必要だったのでメモ。
まず、普通に接続しようとすると以下のエラーメッセージが出ました。
SQL Error (2003) Can't connect to MySQL server
で、設定ファイルを編集します。
sudo vim /etc/mysql/my.cnf
↓この bind-address の行をコメントアウトします。
# bind-address = 127.0.0.1
編集したら再起動
sudo service mysql restart
で、外部から接続テストすると
sql error 1130 host is not allowed to connect to this mysql server
なエラーメッセージが。 まだ権限付与しないとダメらしいので コマンドラインから接続して設定します。
mysql -u root -p mysql> GRANT ALL PRIVILEGES ON *.* TO root@'192.168.%' IDENTIFIED BY 'root のパスワード' WITH GRANT OPTION;
これで他ホストから接続できました。
IP address 'XXX.XXX.XX.XX' could not be resolved: Name or service not known
ただ、以下のようなワーニングが出て気になったので設定した。 /etc/mysql/my.cnf に
skip-name-resolve
を追加したら OK でした。