Hướng dẫn error 2013 lost connection to mysql server during query when dumping table - lỗi 2013 bị mất kết nối với máy chủ mysql trong khi truy vấn khi kết xuất bảng

Hãy thử thêm tùy chọn --quick vào lệnh mysqldump của bạn; Nó hoạt động tốt hơn với các bảng lớn. Nó truyền các hàng từ kết quả đến đầu ra thay vì nhúng toàn bộ bảng, sau đó viết nó ra.

 mysqldump -uroot -h my.host -p'mypassword' --quick --max_allowed_packet=512M db_name table_name | \
 gzip  > dump_test.sql.gz

Bạn cũng có thể thử thêm tùy chọn --compress vào lệnh mysqldump của bạn. Điều đó làm cho nó sử dụng giao thức kết nối nén thân thiện với mạng hơn cho máy chủ MySQL của bạn. Lưu ý rằng bạn vẫn cần ống gzip; Giao thức nén của MySQL không làm cho bãi rác ra khỏi mysqldump được nén.

Cũng có thể máy chủ đang định thời gian kết nối với máy khách mysqldump. Bạn có thể thử đặt lại thời gian chờ thời gian. Kết nối với máy chủ của bạn thông qua một số phương tiện khác và phát hành các truy vấn này, sau đó chạy công việc mysqldump của bạn.

Chúng đặt thời gian chờ vào một ngày lịch.

    SET GLOBAL wait_timeout=86400;
    SET GLOBAL interactive_timeout=86400;

Cuối cùng, nếu máy chủ của bạn ở rất xa máy của bạn (thông qua bộ định tuyến và tường lửa), điều gì đó có thể gây gián đoạn kết nối của ____ 5. Một số bộ định tuyến và tường lửa kém hơn có giới hạn thời gian trên các phiên NAT (Dịch địa chỉ mạng). Họ được cho là giữ cho các phiên đó tồn tại trong khi chúng đang sử dụng, nhưng một số không. Hoặc có thể bạn đang đạt được giới hạn thời gian hoặc kích thước được cấu hình bởi công ty của bạn cho các kết nối bên ngoài.

Hãy thử đăng nhập vào một máy gần hơn với máy chủ và chạy mysqldump trên đó. Sau đó sử dụng một số phương tiện khác (SFTP?) Để sao chép tệp GZ của bạn vào máy của riêng bạn.

Hoặc, bạn có thể phải phân đoạn kết xuất của tệp này. Bạn có thể làm một cái gì đó như thế này (không gỡ lỗi).

mysqldump  -uroot -h my.host -p'mypassword'  \ 
          db_name table_name --skip-create-options --skip-add-drop-table \
          --where="id>=0 AND id < 1000000" | \
          gzip....

Sau đó lặp lại điều đó với những dòng này.

          --where="id>=1000000 AND id < 2000000" | \

          --where="id>=2000000 AND id < 3000000" | \
          ...

cho đến khi bạn nhận được tất cả các hàng. Đau ở cổ, nhưng nó sẽ hoạt động.


Gần đây, một tập lệnh MySQLDump của MySQLDump bắt đầu không thành công trên máy chủ đèn của khách hàng với lỗi sau:mysqldump script recently started to fail on a customer's LAMP server with the following error:

MySQLDump: Lỗi 2013: Mất kết nối với máy chủ MySQL trong quá trình truy vấn khi bán bảng `wp_wfhoover` ở hàng: 458317mysqldump: Có lỗi: 2002:" Không thể kết nối với máy chủ MySQL cục bộ thông qua ổ cắm '/var/run/mysqld/mysqld.sock Không
mysqldump: Got error: 2002: "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)" when trying to connect
mysqldump: Got error: 2002: "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)" when trying to connect

Giới hạn kích thước gói cho phép tối đa

Mặc dù "Mất kết nối với máy chủ MySQL" nghe giống như một vấn đề giao tiếp ở cấp độ mạng hoặc MySQL không có sẵn trong quá trình MySQLDump, nhưng rất có thể là vấn đề "kích thước gói". Một lỗi tốt hơn (và tự giải thích) thực sự sẽ là một thứ gì đó như "Got Too Lig Packet"."packet size" problem. A much better (and self-explaining) error would actually be something such as "got too big packet".

Để truy xuất dữ liệu lớn từ bảng, có thể cần phải điều chỉnh dữ liệu lớn, có thể cần phải điều chỉnh dữ liệu "MAX. Lệnh MySQLDUMP (Máy khách) đặt giá trị mặc định là 24 MB cho tham số--max-được cho phép. Đối với bảng này (wp_wfhoover), điều này là không đủ.. The mysqldump (client) command sets a default value of 24 MB for the --max-allowed-packet parameter. For this table (wp_wfHoover) this was not enough.

Lưu ý: Kiểm tra bài viết này để tìm ra kích thước dữ liệu của các bảng MariaDB / MySQL.

Sau khi nối thêm tham số gói--max-được cho phép có giá trị cao hơn cho lệnh mysqldump, tập lệnh sao lưu đã hoạt động trở lại, mà không ném bất kỳ lỗi nào:--max-allowed-packet parameter with a higher value to the mysqldump command, the backup script worked again, without throwing any errors:

root@db: ~# mysqldump-routines --Events--single-transaction --quick--max-cholowed-packet = 256m dbnamemysqldump --routines --events --single-transaction --quick --max-allowed-packet=256m DBNAME

Các lý do tiềm năng khác gây ra "lỗi 2013" có thể là các vấn đề liên quan đến thời gian chờ. Xem bài viết này để biết thêm gợi ý.

Mysql thực sự là "đã biến mất"

Lỗi trên cũng có thể hiển thị, nếu trong quá trình MySQLDump, máy chủ cơ sở dữ liệu thực sự đã biến mất. Kiểm tra nhật ký lỗi MySQL của bạn (thường là in /var/log/mysql/error.log) và nhật ký hệ thống, bao gồm DMESG. Khi bạn thấy các sự kiện có "OOM", hệ thống của bạn đã hết bộ nhớ:

root@db: ~# dmesg [...] [THU ngày 27 tháng 1 ] Quá trình bị giết 12509 (MySQLD) Total-VM: 5527388kb, Anon-RSS: 2048568kb, File-RSS: 0kb, Shmem-rss: 0kb [Thu 27 23:02:33 2022] Bây giờ anon-rss: 0kb, file-rss: 0kb, shmem-rss: 0kb [Thứ sáu ngày 28 tháng 1 0, oom_score_adj = 0dmesg
[...]
[Thu Jan 27 23:02:33 2022] Memory cgroup out of memory: Kill process 12509 (mysqld) score 279 or sacrifice child
[Thu Jan 27 23:02:33 2022] Killed process 12509 (mysqld) total-vm:5527388kB, anon-rss:2048568kB, file-rss:0kB, shmem-rss:0kB
[Thu Jan 27 23:02:33 2022] oom_reaper: reaped process 12509 (mysqld), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
[Fri Jan 28 00:04:38 2022] mysqld invoked oom-killer: gfp_mask=0x6200ca(GFP_HIGHUSER_MOVABLE), nodemask=(null), order=0, oom_score_adj=0


Thêm một bình luận

Hiển thị biểu mẫu để lại nhận xét

Nhận xét (mới nhất đầu tiên)

Chưa có nhận xét nào.

Làm thế nào giải quyết kết nối bị mất 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.Check if the SSH Timeout and DBMS Timeout value is set to only a few seconds. Try to increase the default value of the connection timeouts. Save the settings, close the MySQL Workbench and reopen the connection to see if you are able to connect to the database.

Tại sao MySQL tiếp tục mất kết nối?

Lý do phổ biến nhất cho máy chủ MySQL đã biến mất là lỗi máy chủ đã hết thời gian và đóng kết nối. Theo mặc định, máy chủ đóng kết nối sau 8 giờ nếu không có gì xảy ra. Bạn có thể thay đổi giới hạn thời gian bằng cách đặt biến Wait_Timeout khi bạn bắt đầu mySQLD.the server timed out and closed the connection. By default, the server closes the connection after 8 hours if nothing has happened. You can change the time limit by setting the wait_timeout variable when you start mysqld.

Mã lỗi 2013 trong MySQL Workbench là gì?

Mất kết nối với máy chủ MySQL trong quá trình truy vấn..

Không thể kết nối máy chủ có thể không chạy kết nối bị mất với máy chủ MySQL trong quá trình truy vấn?

Thông thường có nghĩa là không có máy chủ MySQL chạy trên hệ thống hoặc bạn đang sử dụng tên tệp unix không chính xác hoặc số cổng TCP/IP khi cố gắng kết nối với máy chủ.Bạn cũng nên kiểm tra xem cổng TCP/IP bạn đang sử dụng chưa bị chặn bởi tường lửa hoặc dịch vụ chặn cổng.there is no MySQL server running on the system or that you are using an incorrect Unix socket file name or TCP/IP port number when trying to connect to the server. You should also check that the TCP/IP port you are using has not been blocked by a firewall or port blocking service.