programing

오류 2013(HY000):'승인 패킷 읽기'에서 MySQL 서버에 대한 연결이 끊어졌습니다. 시스템 오류: 0

bestprogram 2023. 10. 14. 10:23

오류 2013(HY000):'승인 패킷 읽기'에서 MySQL 서버에 대한 연결이 끊어졌습니다. 시스템 오류: 0

다음 오류가 발생합니다.

ERROR 2013 (HY000): Lost connection to MySQL server at 
'reading authorization packet', system error: 0

내 MySQL 서버에 연결하려고 할 때.

내가 하는 일:

  • MySQL에 마스터 - 슬레이브 복제 기능이 있고 F5를 사용하여 로드 밸런싱 기능을 추가했습니다.
  • 그들의 사이트에 맞게 F5를 구성하였습니다.

그러나 F5가 구성된 IP를 사용하여 MySQL 서버에 연결하려고 하면

ERROR 2013 (HY000): Lost connection to MySQL server at 
'reading authorization packet', system error: 0 

무슨 생각 있어요?


진행상황 업데이트 : ZERO
할- IP처럼 /var/log/secure합니다를든합니다.
mysql다에 .
- nothing -다 합니다.

mysql> SHOW GLOBAL STATUS LIKE 'Aborted_connections';
Empty set (0.00 sec)

는 이미 를 .my.cnf파일을 합니다를 합니다.

[mysqld]
skip-name-resolve

connect_timeout10까지.
서 F5에서 만든 것 .
나는 마침내 F5 관리자에게 F5 서버에 대한 로그를 전달하도록 설득했고 나는 그것에 필요한 모든 것을 추출했습니다.
은 출력 입니다

  Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <CLIENT_ACCEPTED>: BIG-IP MySQL Proxy -- clientside initial connection
Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <CLIENT_ACCEPTED>: BIG-IP MySQL Proxy -- clientside responding with server WELCOME packet
Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <CLIENT_DATA>: BIG-IP MySQL Proxy -- clientside authenticated flag not set
Jan 28 15:46:39 tmm err tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <CLIENT_DATA>: BIG-IP MySQL Proxy -- mysql client: attempting to do something before authentication
Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <LB_SELECTED>: BIG-IP MySQL Proxy -- serverside selected pool /Common/foss-mysql-slave_pool node SLAVE-IP
Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <CLIENT_CLOSED>: BIG-IP MySQL Proxy -- clientside connection closed from MASTER-IP(XXXXXXX)
Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <SERVER_CLOSED>: BIG-IP MySQL Proxy -- serverside connection closed from node SLAVE-IP(XXXXXXXX)

IP 를했습니다!

추가로 - 그리고 여기 문제가 있다고 생각합니다 - 내 mysql 버전은 5.1.69-log Thx All입니다.

설명서에서:

더 드물게 클라이언트가 서버에 대한 초기 접속을 시도할 때 발생할 수 있습니다.이 경우 connect_timeout 값이 단 몇 초로 설정되어 있으면 10초로 증가시켜 문제를 해결할 수 있으며, 연결이 매우 길거나 느린 경우에는 그 이상이 될 수 있습니다.SHOW STATUS LIKE 'abort_connections'를 사용하면 이러한 흔치 않은 원인을 확인할 수 있습니다.이 값은 서버가 중단하는 초기 연결 시도마다 1씩 증가합니다."승인 패킷 읽기"가 오류 메시지의 일부로 표시될 수도 있습니다. 그렇다면 이 방법이 사용자에게 필요한 해결책임을 나타냅니다.

my.cnf 파일에서 connect_timeout을 늘립니다.

다른 스타일:

MySQL: '초기 통신 패킷 읽기' 시 MySQL 서버 연결 끊김

  1. 어느 시점에서 원격 클라이언트가 MySQL 서버에 연결하는 것은 불가능했습니다.

  2. )는 (윈도우즈 ) 는처럼 했습니다.Connection unexpectedly terminated.

  3. MySQL 클라이언트에 원격으로 로그인할 때 다음 오류가 발생했습니다.

    ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0

FreeBFreeB SD 에서하는 것이 되지 않았기 가 발생합니다./etc/hosts.allow.합니다라고 말하는 줄.ALL:ALL수정 사항:

mysqld: ALL: allow

비 FreeB B SD 에서는 SD , 가 있습니다./etc/hosts.allow그리고./etc/hosts.deny. 이 합니다에 /etc/hosts.allow:

mysqld: ALL

가 합니다./etc/hosts.deny.

을 Arch Linux 에서에 할 수 /etc/hosts.allow:

mysqld: ALL

이 문제는 대개 연결 중단으로 인해 발생합니다.상태를 확인하여 이를 확인할 수 있습니다.

mysql> SHOW GLOBAL STATUS LIKE 'Aborted_connects';

연결이 끊어질 때마다 이 카운터가 계속 증가하면 연결 중에 문제가 발생한다는 신호입니다.

많은 경우 효과가 있는 것으로 보이는 한 가지 해결책은 시간 초과를 늘리는 것입니다.권장 값은 10초입니다.

mysql> SET GLOBAL connect_timeout = 10;

연결 시간 초과의 또 다른 일반적인 원인은 클라이언트를 인증할 때 필요한 역방향 DNS 조회입니다.my.cnf:의 구성 변수를 사용하여 MySQL을 실행하는 것이 좋습니다.

[mysqld]
skip-name-resolve

이는 GRANT 문이 호스트 이름이 아닌 IP 주소를 기반으로 해야 함을 의미합니다.


또한 2012년의 이 보고서를 f5.com 사이트에서 발견했습니다(지금은 로그인으로 보호되지만 Google 캐시를 통해 받았습니다).

테스트한 버전인 BIG-IP 11.1과 MySQL 5.1을 실행하지 않으면 프록시가 작동하지 않을 가능성이 높습니다.MySQL 프로토콜은 변경하는 습관이 있습니다.

F5 Support에 문의하여 지원되는 버전 조합을 사용하고 있는지 확인하는 것이 좋습니다.

저는 이 오류로 많은 어려움을 겪었습니다.인터넷에서 찾은 모든 답을 시도했습니다.

결국 컴퓨터를 휴대전화 핫스팟에 연결했고 모든 것이 작동했습니다.회사 인터넷이 MySQL과의 연결을 차단하고 있음을 알게 되었습니다.

이것이 완전한 해결책은 아니지만, 누군가가 같은 문제에 직면했을 수도 있습니다.연결 상태를 확인해 볼 가치가 있습니다.

나는 mysql을 여러 번 중단하면서 이 문제를 해결했습니다.

$ mysql.server stop
Shutting down MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/xxx.local.pid).
$ mysql.server stop
Shutting down MySQL
.. SUCCESS! 
$ mysql.server stop
ERROR! MySQL server PID file could not be found! (note: this is good)
$ mysql.server start

여기서부터 다 좋습니다.mysql이 시작된 게 한두 번이 아닌 것 같습니다.

제 경우는 서버가 이 IP에서 연결을 받지 않았다는 것이었습니다.서버는 Google Apps Engine의 SQL 서버이며 서버에 연결할 수 있는 허용된 원격 호스트를 구성해야 합니다.

GAE admin 페이지에 (새로운) 호스트를 추가하면 문제가 해결되었습니다.

맥은 있지만 이 부분은 모든 리눅스가 동일하다고 가정할 것입니다.

제 경우엔 이걸 받았죠

2018-12-03 11:13:27 - Start server: 
2018-12-03 11:13:27 - Server start done.
2018-12-03 11:13:27 - Checking server status...
2018-12-03 11:13:27 - Trying to connect to MySQL...
2018-12-03 11:13:27 - Lost connection to MySQL server at 'reading authorization packet', system error: 0 (2013)
2018-12-03 11:13:27 - Assuming server is not running

제가 해봤습니다.

sudo killall mysqld

그리고 나서 mysqlworkbench를 통해 mysql을 다시 시작했습니다. 하지만 당신의 경우에는 다음과 같습니다.

mysql.server start

*부록:달리기를 해봤습니다.mysql.server stop그리고 이것을 받았습니다.Shutting down MySQL .... SUCCESS! 달리기를 한 ps aux | grep mysql실제로 작동이 안 되는 걸 봤는데요...

localhost에서 여러 개의 mysql 연결(다른 데이터베이스 집합에 연결)을 사용합니다.

컴퓨터를 종료하고 mysql이 제대로 종료되지 않은 후 발생한 일입니다.기계를 시동한 후 하나를 제외한 여러 DB 연결에 성공적으로 연결할 수 있었습니다(기계를 종료하기 전에 많이 사용했습니다).이 게시물의 지침에 따라 connect_timeout을 두 배로 늘렸지만, 하나의 데이터베이스 연결에 연결할 수 없었습니다.

기계를 다시 시작했는데 이제 성공적으로 연결할 수 있습니다.이렇게 하면 차단 해제에 도움이 되지만 기계를 다시 시작하지 않고 고칠 수 있다면 좋을 것 같습니다.

또 다른 문제는 connection_timeout이 관련 문제를 지연시키는 것처럼 보였지만 수식에 네트워크가 없을 때 localhost에서 즉시 오류가 발생했다는 것입니다.

저의 경우 MySQL 서버에 접속이 많이 되고(접속이 15,000개) 여유 메모리가 120M 정도 되었을 때 발생한 일인데, 서버에 메모리를 추가한 후 오류가 사라졌습니다.

저는 3일 동안 이 오류에 대해 머리를 긁적였습니다.데이터베이스에 대한 권한 조정, 사용자 테이블의 다른 IP에서 온 새로운 사용자, 여러 가지 다른 방식으로 bind-address 조정, my.cnf 파일과 알려진 작동 서버, 방화벽 변경, 업스트림 방화벽 변경, 호스트 비교 등을 시도했습니다.허용/deny... none은 효과가 있었습니다.

그런 다음 mysql/error.log(빈 상태로 올라옴)가 아니라 journal ctl-xe log를 보고 low and week, low and view, 그것은 내 /etc/hosts를 읽을 수 없습니다.allow 및 내 /etc/hosts.deny 파일.

chmod 644 호스트.허용 chmod 644 hosts. deny.

이제 괜찮아졌습니다.

TCP 래퍼(/etc/hosts.deny 및 /etc/hosts)에서 연결을 재설정할 수도 있습니다.허용).텔넷에서 포트 3306으로 들어오는 것을 확인하기만 하면 됩니다. 아무 것도 아니라면 중간에 통신을 방해하는 무언가가 있습니다.

이 오래된 질문에 이 정보를 추가하기 위해 계정을 만들었습니다. 웹에서 문제의 원인에 대한 언급을 찾을 수 없었기 때문입니다.

(검색어로 PHP를 추가할 때도 구글 최상위 결과이므로 여기에 추가)

프로세스를 포크할 때 PHP 7.4에서 (알아요, 누가 이것을 하나요?)활성 MySQL 연결이 있는 경우 연결이 엉망이 되어 OP의 오류를 뱉습니다.포크를 사용한 후 각 포크 프로세스에서 연결을 다시 초기화/recreate하면 해결됩니다.

누구에게나 도움이 되길 바랍니다.

두 가지 오류가 모두 발생했습니다. 대부분.reading initial communication packet 그리고. reading authorization packet한 번무작위인 것 같지만 재부팅 후에 연결을 설정할 수 있는 경우도 있었지만 얼마 후 오류가 슬그머니 다시 발생했습니다.

클라이언트에서 5GHz 와이파이를 피해서 문제가 해결된 것 같습니다.그것이 저에게 효과적이었습니다(서버는 항상 2.4GHz에 연결되어 있었습니다).

서버 버전, Odbc 커넥터 버전, 방화벽 설정, 윈도우 업데이트 설치(이후 제거), 여기에 게시된 답변 중 일부 등 모든 것을 시도했습니다.오늘은 잠자는 시간을 다 잃었습니다.너무 피곤한 하루가 저를 기다리고 있습니다.

DevDesktop을 사용할 때 이 문제가 발생하면 DevDesktop을 다시 시작해 보십시오!

언급URL : https://stackoverflow.com/questions/21091850/error-2013-hy000-lost-connection-to-mysql-server-at-reading-authorization-pa