解決策: 1. mysql コンテナにログインし、mysql と入力します。構文は「docker exec -it mysql /bin/bash...」です。 2. 「alter user 'root'@」を使用します。 '%' は '...' によって mysql_native_password で識別されました;" ログイン パスワードを変更します; 3. navicat を使用して mysql にリモート接続します。
このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。
#docker インストール mysql
docker pull mysql docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql
現時点で、navicat が mysql にリモート接続すると、次のようになります。エラーが表示されます:
解決策:
1. mysql にログインします。仮想マシンのコンテナに「mysql
docker exec -it mysql /bin/bash mysql -uroot -p Enter password: mysql> select host,user,plugin,authentication_string from mysql.user;
」と入力します。 注: host は % であり、ip に制限がないことを意味します。localhost は、ローカル マシンがプラグインを使用することを意味します。 mysql_native_password 以外のパスワードを変更する必要があるため、パスワードを変更する必要があります。上の図が表示されたら、navicat を使用して mysql に再度リモート接続すると成功します。
推奨学習: 「docker ビデオ チュートリアル
」以上がdocker でインストールされた mysql にリモートからアクセスできない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。