2016-07-19 4 views
0

CentOS 7.1にMysql5.7とドッカーサービスをインストールしました。 mysqlとコマンドmysql -u rootをローカルに接続しても問題ありません。しかし、mysql -u root -h 172.17.0.1を使用しようとすると接続できません。172.17.0.1はローカルのdocker0のIPアドレスです。mysql 5.7はCentOS7でドッカーのIPアクセスを許可できません

[[email protected] workspace]# mysql -u root -h 172.17.0.1 
ERROR 1130 (HY000): Host 'test1.novalocal' is not allowed to connect to this MySQL server 

私はその理由をGoogleで検索してtest1.novalocalになく、幸運なしでアクセス権を付与しようとしてきました。

mysql> grant all on *.* to [email protected]'test1.novalocal' with grant option; 
ERROR 1133 (42000): Can't find any matching row in the user table 

他の手掛かりはありますか?

+1

http://stackoverflow.com/questions/17597144/cant-find-any-matching-row-in-the-user-table –

+0

--skip-name-resolveを設定してみてください。 – user2105103

答えて

1

てみ経由して、あなたのコンテナのIPを取得することができます:それ 場合

grant all on *.* to 'root'@'test1.novalocal' identified by 'somepassword' with grant option; 

MySQLの最新バージョンは

防ぎ、自動的に新規ユーザーを作成するから、GRANT文NO_AUTO_CREATE_USERが付属していますそれ以外の場合は、認証情報が である場合を除きます。この文では、 IDENTIFIED BYまたはIDENTIFIED WITHを使用する認証プラグインを使用して、空でないパスワードを指定する必要があります。

disable空白のパスワードが必要な場合は、このモードを使用することができます。

のMySQL Workbenchはさえ影響

0行(複数可)、1つの警告(S)警告:1287新しい ユーザを作成するためにGRANTを使用して非推奨され、将来のリリースで除去されます。

今後のリリースでは、CREATE a user before GRANTが必要な場合があります。

+1

それは魅力のように機能します!ありがとうございました! – LeoShi

0

172.17.0.1はdocker0 ipです。あなたのコンテナipではありません。

あなたはdocker inspect yourcontainerid

+0

私はコンテナIPを取得しようとしていません。代わりに、ホストにインストールされたmysqlにアクセスするためのコンテナが必要です。 – LeoShi

関連する問題