Tôi có một máy chủ MySQL 5.0.75 chạy trên máy tính xách tay Linux mà tôi muốn kết nối từ một máy khác trong mạng cục bộ.
Kết nối này mất 5-6 giây:
mysql -h 172.22.65.101 -u myuser -p123
Một ping đến máy chủ MySQL:
PING 172.22.65.101 (172.22.65.101) 56(84) bytes of data.
64 bytes from 172.22.65.101: icmp_seq=1 ttl=64 time=0.799 ms
64 bytes from 172.22.65.101: icmp_seq=2 ttl=64 time=0.000 ms
64 bytes from 172.22.65.101: icmp_seq=3 ttl=64 time=6.43 ms
64 bytes from 172.22.65.101: icmp_seq=4 ttl=64 time=0.000 ms
64 bytes from 172.22.65.101: icmp_seq=5 ttl=64 time=3.81 ms
64 bytes from 172.22.65.101: icmp_seq=6 ttl=64 time=0.706 ms
^C
--- 172.22.65.101 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5027ms
rtt min/avg/max/mdev = 0.000/1.959/6.437/2.383 ms
Bất kỳ ý tưởng? Khi tôi giám sát kết nối với SHOW PROCESSLIST; trên máy chủ MySQL, tôi có thể thấy rằng lệnh là "kết nối" và người dùng là "người dùng không được xác thực". Điều này kéo dài cho đến khi kết nối được thiết lập. (Người dùng sau đó được hiển thị là "myuser" và lệnh là "ngủ")
Tôi là một nhà phát triển và cần đề xuất của bạn về cách tìm ra nút cổ chai!
My myff trên máy chủ:
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
expire_logs_days = 10
max_binlog_size = 100M
skip-federated
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[isamchk]
key_buffer = 16M
Bệnh nhân:
mysql Ver 14.12 Distrib 5.0.51a, for debian-linux-gnu (i486) using readline 5.2
Người phục vụ:
mysql Ver 14.12 Distrib 5.0.75, for debian-linux-gnu (i486) using readline 5.2