programing

MySQL 원격 연결이 결과를 표시하는 데 3분 이상 소요됨

javajsp 2023. 9. 16. 08:41

MySQL 원격 연결이 결과를 표시하는 데 3분 이상 소요됨

로컬 서버에서 원격 서버로 연결하려고 합니다.mysql명령...

오랜 지연 후의 결과:

[root@local ~] mysqlshow -u test -p*** -h XXX.XXX.XXX.XXX
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 0

(오류나 지연 없이 두 번째 원격 서버를 통해 연결이 이루어집니다.)

업데이트 1

추가 후 로컬 서버에서 연결 재시도connect_timeout=500원격 서버의 /etc/my.cnf:

[root@local ~] time mysqlshow -u test -p*** -h XXX.XXX.XXX.XXX
+---------------------+
|      Databases      |
+---------------------+
| foo                 |
| bar                 |
+---------------------+

real    3m21.174s  <======== (3m!)
user    0m0.004s
sys     0m0.015s

연결에 성공했지만 결과를 표시하기 위해 3분 이상 지연됨!

흥미로운 점은 연결이 설정되면 다른 mysql 요청(예:mysql> SELECT) 즉시 효력이 발생시킵니다!

업데이트2

추가 후 동일한 결과skip-host-cache그리고.skip-name-resolve원격 서버의 /etc/my.cnf...로 이동합니다.

업데이트 3

두 번째 원격 서버를 통한 동일한 요청: (모든 것이 좋은 같습니다)

[root@remote2 ~] time mysqlshow -u test -p*** -h XXX.XXX.XXX.XXX
+---------------------+
|      Databases      |
+---------------------+
| foo                 |
| bar                 |
+---------------------+

real    0m0.016s  <======== (0.016s)
user    0m0.007s
sys     0m0.002s

업데이트 4

로컬 서버에서 MySQL Connection을 확인합니다.telnet: (다 좋은 것 같습니다!)

[root@local ~] time echo X | telnet -e X XXX.XXX.XXX.XXX 3306
Telnet escape character is 'X'.
Trying XXX.XXX.XXX.XXX...
Connected to XXX.XXX.XXX.XXX.
Escape character is 'X'.

telnet> Connection closed.

real    0m0.136s  <======== (0.136s)
user    0m0.000s
sys     0m0.005s

업데이트 5

PHP를 통해 연결을 시도합니다.mysqli로컬 서버에서:

<?php
$servername = "XXX.XXX.XXX.XXX";
$username = "test";
$password = "***";
$dbname = "dbname";

$conn = new mysqli( $servername, $username, $password, $dbname );

if( $conn->connect_error ) {
    die($conn->connect_error);
}
?>

결과:

Warning: mysqli::__construct(): (HY000/2002): Permission denied in /var/www/html/test.php on line 7
Permission denied

(PHP mysqli 연결은 두번째 리모트 서버를 통해 오류나 지연 없이 이루어집니다.)

업데이트 6

사용 안 함으로 재시도SELinux로컬 서버에서 PHP 연결 오류를 해결했지만 여전히 연결에 3분 이상 걸립니다!

연결이 설정되면 다른 요청(예:SELECT)이 즉시 시행됩니다.

업데이트 7

로컬 서버에서 연결을 시도한 후 서버의 phpMyAdmin(또는mysqladmin proc명령), 인증되지 않은 사용자가 추가된 새 연결...

enter image description here

업데이트 8

연결 시도 후XAMPP(다른 PC 및 네트워크에서) 윈도우에서 원격 서버로:

동일한 결과(인증되지 않은 사용자와 연결하여 결과를 표시하는 데 3분 이상 지연됨)...

미치겠어요!!

언급URL : https://stackoverflow.com/questions/65343282/mysql-remote-connection-takes-more-than-3-minutes-to-display-result