web-dev-qa-db-ja.com

VirtualBoxを介したMySQLサーバーへのアクセス

MySQLサーバー(VM内にある)がクライアント(ホストマシン上にある)に応答できるようにしようとしています。すべてのメソッドは同じを返します:

Host '10.0.2.2' is not allowed to connect to this MySQL server

適切なポートforwardindを確保しました。また、my.cnfには次の行があることを確認しました。

skip-external-locking
bind-address = 0.0.0.0

これは私にはうまくいきませんでした。私はまた、次のように少し演奏しようとしました:

bind-address = 10.0.2.2

しかし、これも私にはうまくいきませんでした-サーバーが起動できませんでした。

私が間違っているアイデアはありますか?

UPDATE。root@%の権限を確認しませんでした 作成済みのMySQLユーザーの権限を変更するにはどうすればよいですか? ?

解決しました。

20
defance

デフォルトのインストールの大部分でrootアカウントのlocalhostのみですが、他のシステムからのログインを許可していることを確信していますか? MySQLリファレンスマニュアル から:

これは、クライアントテーブルに一致するホスト値を持つユーザーテーブルに行がないことを意味します。

したがって、Host列には%または10.0.2.2がまったくありません。現在の設定を確認してください:

select user,Host from mysql.user where user='root';

おそらく、現在と同じパスワードで新しいルートエントリを作成する必要があります。

create user 'root'@'10.0.2.2' identified by 'yourpassword';
grant all privileges on *.* to 'root'@'10.0.2.2' with grant option;
flush privileges;
37
Shane Madden