これがポートの競合に関連しているのか、それとも「Xプロトコル」に関連しているのか、「Xプロトコル」を無効にするかウェルカムメッセージを変更することに関連しているのかはわかりません。
追加または変更された機能
Important Change: Attempting to connect to an X Protocol port, 33060 by default, using the classic MySQL protocol resulted in the
次のエラー:エラー2013(HY000):「初期通信パケットの読み取り中」MySQLサーバーへの接続が失われました。システムエラー:0
This was because of differences in X Protocol and classic MySQL protocol clients expectations on how connections were initialized.
この場合、生成されたエラーメッセージはERROR 2007(HY000)です。プロトコルの不一致サーバーのバージョン = 11、クライアントのバージョン = 10. このエラーが発生した場合、クライアントが使用するプロトコルに対して無効なポートを使用しようとした可能性があります。
そしてalice
コンテナbob
は作られたハブの基本イメージdocker
に両方を使用します。はいmysql-server
docker
接続しようコンソールを使用するalice
には。bob
MySQL
alice
インストール後にホストシステムにログインiputils
し、telnet
以下を使用しますyum
。
bash-4.2#
bash-4.2# ping bob
PING bob (172.21.0.3) 56(84) bytes of data.
64 bytes from bob.foo (172.21.0.3): icmp_seq=1 ttl=64 time=0.064 ms
64 bytes from bob.foo (172.21.0.3): icmp_seq=2 ttl=64 time=0.084 ms
64 bytes from bob.foo (172.21.0.3): icmp_seq=3 ttl=64 time=0.086 ms
^C
--- bob ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2047ms
rtt min/avg/max/mdev = 0.064/0.078/0.086/0.009 ms
bash-4.2#
bash-4.2# telnet bob
Trying 172.21.0.3...
telnet: connect to address 172.21.0.3: Connection refused
bash-4.2#
bash-4.2# telnet bob 33060
Trying 172.21.0.3...
Connected to bob.
Escape character is '^]'.
�^CConnection closed by foreign host.
bash-4.2#
bash-4.2# telnet bob 3306
Trying 172.21.0.3...
Connected to bob.
Escape character is '^]'.
CHost '172.21.0.2' is not allowed to connect to this MySQL serverConnection closed by foreign host.
bash-4.2#
bash-4.2# mysql mysql -h bob -P 33060 --protocol=tcp -u root -p
Enter password:
ERROR 2007 (HY000): Protocol mismatch; server version = 11, client version = 10
bash-4.2#
クライアントのバージョンを11に更新する方法は?アリスから:
bash-4.2#
bash-4.2# rpm -qa | grep mysql
mysql80-community-release-el7-3.noarch
mysql-shell-8.0.21-1.el7.x86_64
mysql-community-minimal-release-el7-1.noarch
mysql-community-server-minimal-8.0.21-1.el7.x86_64
bash-4.2#
Bobと同じでなければなりません。
または、これは安全防止?
もう一度試しました。異なるポートの指定しかし、同じエラーが発生しました。
また見なさい:
https://forums.mysql.com/read.php?152,684386,686543#msg-686543
答え1
このポートで他のプログラムが実行されていないことを確認してください。したがって、mysqlを停止し、同じエラーが引き続き発生することを確認してください。その場合は、使用したいポートで別のプログラムが実行されています。