JRDがポートフォワーディングで言ったことに加えて、mysqlがローカルだけでなくすべてのポートでリッスンすることを確認する必要があります
/etc/mysql/my.cnf
を編集します ファイルして、どちらかを確認してください
-
bind-address = 0.0.0.0
があります - または、
#bind-address ...
の行にコメントを付けます
変更後は必ずmysqlサーバーを再起動してください
$ sudo service mysql restart
その後、ホストから接続できます-次のエラーが発生した場合
$ mysql -h127.0.0.1 -P 33600 -uroot -p
Enter password:
ERROR 1130 (HY000): Host '172.16.42.2' is not allowed to connect to this MySQL server
その後、ゲストに戻って実行します
[email protected]:~$ mysql -h127.0.0.1 -uroot -p
...
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.42.2' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
そうすれば、ホストマシンからの接続に問題はないはずです
$ mysql -h127.0.0.1 -P 33600 -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 36
Server version: 5.5.44-0ubuntu0.12.04.1 (Ubuntu)