Hướng dẫn lost connection to mysql server during query ( server_errno=2013) - mất kết nối với máy chủ mysql trong khi truy vấn (server_errno = 2013)

Nếu bạn dành thời gian để chạy nhiều truy vấn MySQL, bạn có thể bắt gặp Error Code: 2013. Lost connection to MySQL server during query. Bài viết này cung cấp một số gợi ý về cách tránh hoặc khắc phục sự cố.

Tại sao điều này xảy ra

Lỗi này xuất hiện khi kết nối giữa máy khách MySQL và máy chủ cơ sở dữ liệu của bạn hết lần. Về cơ bản, phải mất quá nhiều thời gian để truy vấn trả về dữ liệu để kết nối bị hủy.

Hầu hết các công việc của tôi liên quan đến di chuyển nội dung. Các dự án này thường liên quan đến việc chạy các truy vấn MySQL phức tạp mất nhiều thời gian để hoàn thành. Tôi đã tìm thấy bảng WordPress WP_PostMeta đặc biệt rắc rối vì một trang web có hàng chục ngàn bài đăng có thể dễ dàng có hàng trăm nghìn mục Postmeta. Tham gia các bộ dữ liệu lớn từ các loại bảng này có thể đặc biệt chuyên sâu.

Tránh vấn đề bằng cách tinh chỉnh các truy vấn của bạn

Trong nhiều trường hợp, bạn có thể tránh được vấn đề hoàn toàn bằng cách tinh chỉnh các truy vấn SQL của bạn. Ví dụ: thay vì tham gia tất cả các nội dung của hai bảng rất lớn, hãy thử lọc các bản ghi mà bạn không cần. Nếu có thể, hãy thử giảm số lượng tham gia trong một truy vấn duy nhất. Điều này nên có thêm lợi ích của việc làm cho truy vấn của bạn dễ đọc hơn. Đối với mục đích của tôi, tôi đã phát hiện ra rằng nội dung biến đổi thành các bảng làm việc có thể cải thiện hiệu suất đọc. Điều này tránh hết thời gian.

Viết lại các truy vấn không phải là tùy chọn luôn luôn để bạn có thể thử các cách giải quyết phía máy chủ và phía máy khách sau đây.

Giải pháp phía máy chủ

Nếu bạn là quản trị viên cho máy chủ MySQL của mình, hãy thử thay đổi một số giá trị. Tài liệu MySQL cho thấy tăng giá trị net_read_timeout hoặc connect_timeout trên máy chủ.

Giải pháp phía khách hàng

Bạn có thể tăng các giá trị thời gian chờ của máy khách MySQL nếu bạn không có quyền truy cập quản trị viên vào máy chủ MySQL.

MySQL Workbench

Bạn có thể chỉnh sửa tùy chọn trình soạn thảo SQL trong MySQL Workbench:

  1. Trong menu ứng dụng, chọn Chỉnh sửa> Tùy chọn> Trình soạn thảo SQL.
  2. Tìm phần phiên MySQL và tăng giá trị thời gian đọc kết nối DBMS.
  3. Lưu cài đặt, hoàn toàn MySQL Workbench và mở lại kết nối.

Navicat

Cách chỉnh sửa tùy chọn Navicat:

  1. Nhấp chuột vào một mục kết nối và chọn Thuộc tính kết nối> Chỉnh sửa kết nối.
  2. Chọn tab nâng cao và tăng giá trị thời gian chờ ổ cắm.

Dòng lệnh

Trên dòng lệnh, sử dụng biến connect_timeout.

Kịch bản Python

Nếu bạn đang chạy truy vấn từ tập lệnh Python, hãy sử dụng đối số kết nối: con.query['SET GLOBAL connect_timeout=6000']
con.query['SET GLOBAL connect_timeout=6000']

Chúng tôi đang phải đối mặt với vấn đề trong bản sao rằng chúng tôi không gặp bất kỳ lỗi nào khi hiển thị trạng thái nô lệ \ g đầu ra thay vì đối mặt với vấn đề sau trong tệp nhật ký lỗi

[ERROR] Error reading packet from server: Lost connection to MySQL server during query [ server_errno=2013]

Dữ liệu cho một số bảng không được điền từ Master Server và Slave không cập nhật nó từ chính.

Chúng tôi đang sử dụng Windows 2008 R2 và trên phiên bản chính là 5.6.19 và trên nô lệ là 5.6,26

Mọi thứ trông cho đến nay như dưới đây: 1. Thay đổi giá trị nhịp tim chính nhưng nó không hoạt động 2. Đã tăng SLAVE_NET_TIMOUT, tăng MAX_ALLOWED_PACKET trên Master và Slave 3. Xây dựng nô lệ 4. Quyền của người dùng cũng đúng 5.P Từ cả hai máy chủ cũng hoạt động và tường lửa Windows đã tắt
1. Change the master heartbeat value but it didn't work
2.increased the slave_net_timeout, Increased max_allowed_packet on master and slave
3.Rebuilding Slave
4.Slave user permissions are also correct
5.Ping and telnet from both server also works and windows firewall is off

Bất kỳ sự giúp đỡ nào cũng được đánh giá cao

  • Lượt xem
  • Thêm bình luận
  • Các tập tin
  • Nhà phát triển
  • Chỉnh sửa đệ trình
  • Xem nhật ký tiến trình
  • Đóng góp

Description:
I have a two way replication on 2 servers. AB
On each server I have the following entry in the server.err file every hour, if there is no activity[processing queries] on it alternatively if the position of the log event is the same as one hour before:
-------------------------------------------------------------------------------
040915  9:36:49 Error reading packet from server: Lost connection to MySQL server during query [server_errno=2013]
040915  9:36:49 Slave I/O thread: Failed reading log event, reconnecting to retry, log 'obelix-bin.006' position 79
040915  9:36:49 Slave: connected to master ':3306',replication resumed in log 'obelix-bin.006' at position 79
040915 10:36:50 Error reading packet from server: Lost connection to MySQL server during query [server_errno=2013]
040915 10:36:50 Slave I/O thread: Failed reading log event, reconnecting to retry, log 'obelix-bin.006' position 79
040915 10:36:50 Slave: connected to master ':3306',replication resumed in log 'obelix-bin.006' at position 79
-------------------------------------------------------------------------------

This Error has no impact on the Replication. It works without problems.

How to repeat:
-

Suggested fix:
-

Làm cách nào để sửa chữa kết nối mất 2013 với máy chủ MySQL trong quá trình truy vấn?

Mở các tùy chọn Workbench MySQL. Kiểm tra xem giá trị thời gian chờ thời gian chờ SSH và DBMS chỉ được đặt thành một vài giây. Cố gắng tăng giá trị mặc định của thời gian chờ kết nối. Lưu cài đặt, đóng Workbench MySQL và mở lại kết nối để xem bạn có thể kết nối với cơ sở dữ liệu không.

Tại sao truy vấn bị mất kết nối với máy chủ MySQL?

Lỗi trên thường xảy ra khi bạn chạy truy vấn MySQL dài hoặc phức tạp chạy trong hơn một vài giây.Để sửa lỗi, bạn có thể cần thay đổi cài đặt toàn cầu liên quan đến thời gian chờ trong máy chủ cơ sở dữ liệu MySQL của bạn.commonly happens when you run a long or complex MySQL query that runs for more than a few seconds. To fix the error, you may need to change the timeout-related global settings in your MySQL database server.

Làm thế nào để bạn giải quyết máy chủ MySQL đã biến mất?

Làm cách nào để khắc phục lỗi Máy chủ MySQL đã biến mất ?..
Máy chủ hẹn giờ và đóng kết nối.Để khắc phục, hãy kiểm tra biến MySQL của Wait_Timeout trong MY của bạn.....
Bạn cũng có thể cần phải tăng biến Innodb_Log_File_Size MySQL trong My.....
Máy chủ đã bỏ một gói không chính xác hoặc quá lớn.....
Máy chủ cơ sở dữ liệu hết không gian ..

Tại sao MySQL không kết nối với máy chủ?

Dưới đây là một số lý do khiến không thể kết nối với lỗi máy chủ MySQL cục bộ có thể xảy ra: MySQLD không chạy trên máy chủ cục bộ.Kiểm tra danh sách quy trình của hệ điều hành của bạn để đảm bảo quy trình MySQLD có mặt.Bạn đang chạy một máy chủ MySQL trên Windows với nhiều kết nối TCP/IP với nó.mysqld is not running on the local host. Check your operating system's process list to ensure the mysqld process is present. You're running a MySQL server on Windows with many TCP/IP connections to it.

Bài Viết Liên Quan

Chủ Đề