Max_allowed_packet trong MySQL ở đâu?
Ghi chú. Biến hệ thống, Show Tham khảo bảng sau để biết danh sách các cập nhật chính được thực hiện cho trang này Ngày phát hànhMô tả thay đổiSep-05-2022NAMang lại trang này trong thư mục Tài liệu nguồn tương ứng. Sep-09-20211. 71Tài liệu mớiĐể kiểm tra giá trị hiện tại của max_allowed_packet là gì, lệnh show biến được sử dụng. Nó được đưa ra như sau - mysql> show variables like 'max_allowed_packet'; Sau đây là đầu ra +--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 4194304 | +--------------------+---------+ 1 row in set (0.04 sec) Giá trị của max_allowed_packet có thể được thay đổi trong 'my. ini' ở phía máy khách. Truy vấn cho điều đó được đưa ra như sau - Nếu giá trị không được áp dụng và cũng để nó không được đặt lại sau khi khởi động lại máy chủ MySQL, hãy thêm vào tệp cấu hình [mysqld] max_allowed_packet=128M Và khởi động lại máy chủ MySQL service mysql restart Máy khách MySQL có giá trị riêng, có thể thay đổi giá trị này, chẳng hạn như khi khởi động máy khách MySQL Có một số cách để thay đổi giá trị max_allowed_packet. Nó chủ yếu được đặt thành giá trị mặc định, là 16MBĐể thay đổi nó, hãy làm theo điều này Điều này sẽ đặt giá trị của máy khách thành 32 MB. Bạn có thể thay đổi giá trị theo yêu cầu của bạn Thay đổi giá trị máy chủ cũng rất quan trọng, đặc biệt khi bạn đang xử lý các truy vấn lớn. Thông thường, giá trị mặc định của máy chủ là 16 MB Cuối cùng, bạn cũng có thể đặt giá trị bằng tệp cấu hình. Đây là cách nó được thực hiện Điều này sẽ thay đổi kích thước máy chủ thành 32 MB, do đó cho phép máy chủ chuyển các truy vấn lớn hơn mà không gặp bất kỳ lỗi nào
max_allowed_packet và lỗi nhật ký nhị phân trong MySQL qua Pyotr Zaitsev ·Tháng 4. 13, 15 · Phỏng vấnGiống Nhận xét Tiết kiệm tiếng riu ríu Chia sẻ 13. 02K Lượt xem Tham gia cộng đồng DZone và có được trải nghiệm thành viên đầy đủ Tham gia miễn phí[Bài viết này được viết bởi Miguel Angel Nieto] The combination of variable and replication in MySQL is a common source of headaches. In a nutshell, max_allowed_packet is the maximum size of a MySQL network protocol packet that the server can create or read. It has a default value of 1MB (<= 5.6.5) or 4MB (>= 5.6.6) and a maximum size of 1GB. This adds some constraints in our replication environment:
Đôi khi, ngay cả khi tuân theo hai quy tắc cơ bản đó, chúng ta vẫn có thể gặp vấn đề Ví dụ: có những tình huống (còn gọi là lỗi) trong đó thiết bị chính ghi nhiều dữ liệu hơn giới hạn max_allowed_packet khiến các thiết bị phụ ngừng hoạt động. Để sửa lỗi này, Oracle đã tạo một biến mới có tên là slave_max_allowed_packet. Biến cấu hình mới này có sẵn từ 5. 1. 64, 5. 5. 26 và 5. 6. 6 ghi đè giá trị max_allowed_packet cho chuỗi nô lệ. Do đó, bất kể giá trị max_allowed_packet là bao nhiêu, các luồng của nô lệ sẽ có giới hạn 1GB, giá trị mặc định của Slave_max_allowed_packet. Thủ thuật hay hoạt động như mong đợi Đôi khi, ngay cả với cách giải quyết đó, chúng tôi có thể gặp lỗi max_allowed_packet trong các máy chủ nô lệ. Điều đó có nghĩa là có một gói lớn hơn 1GB, điều không nên xảy ra trong tình huống bình thường. Tại sao? . Hãy xem ví dụ sau Slave ngừng hoạt động với thông báo sau Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master' Phần quan trọng là "có lỗi nghiêm trọng 1236 từ chủ". Master không thể đọc sự kiện mà nó đã ghi vào nhật ký nhị phân vài giây trước. Để kiểm tra vấn đề chúng ta có thể
Đây là một ví dụ được lấy từ Diễn đàn Percona của chúng tôi #121003 5:22:26 server id 1 end_log_pos 398528 # Unknown event # at 398528 #960218 6:48:44 server id 1813111337 end_log_pos 1835008 # Unknown event ERROR: Error in Log_event::read_log_event(): 'Event too big', data_len: 1953066613, event_type: 8 DELIMITER ; # End of log file Kiểm tra kích thước của sự kiện, 1953066613 byte. Hoặc thông báo “Sự kiện không xác định”. Một cái gì đó rõ ràng là sai ở đó. Một điều thông thường khác cần kiểm tra là id máy chủ đôi khi không tương ứng với giá trị thực. Trong ví dụ này, người đã đăng sự kiện nhật ký nhị phân đã xác nhận rằng id máy chủ đã sai
[ERROR] Error in Log_event::read_log_event(): 'Event too big', data_len: 1953066613, event_type: 8 Một lần nữa, sự kiện lớn hơn dự kiến. Không có cách nào mà chủ và nô lệ có thể đọc/ghi nó, vì vậy giải pháp là bỏ qua sự kiện đó trong nô lệ và xoay nhật ký trên chủ. Sau đó, sử dụng pt-table-checksum để kiểm tra tính nhất quán của dữ liệu mysql 5. 6 bao gồm tổng kiểm tra sao chép để tránh các sự cố với hỏng nhật ký. Bạn có thể đọc thêm về điều này trong bài đăng trên blog của Stephan Phần kết luận Lỗi trên máy chủ nô lệ về max_allowed_packet có thể do nhiều nguyên nhân khác nhau. Mặc dù lỗi nhật ký nhị phân không phổ biến, nhưng đây là điều đáng để kiểm tra khi bạn cạn kiệt ý tưởng Làm cách nào để tìm max_allowed_packet trong MySQL?Đặt max_allowed_packet . Mở "của tôi. ini" trong thư mục cài đặt máy chủ MySQL Tìm kiếm thông số "max_allowed_packet". Nếu file chưa có thì thêm tham số vào file Đặt giá trị khi cần. . Khởi động lại máy chủ MySQL max_allowed_packet trong MySQL là gì?Max_allowed_packet là kích thước tối đa của giao thức mạng MySQL mà máy chủ có thể đọc hoặc tạo . Tham số đi kèm với các giá trị mặc định, tối thiểu và tối đa mà bạn có thể thay đổi theo yêu cầu của mình.
Làm cách nào để đặt max_allowed_packet trong RDS?Đi tới RDS, chọn Nhóm thông số và tạo nhóm mới/chỉnh sửa nhóm hiện có. Tìm kiếm max_allowed_packet và nhập giá trị mới cho nó. Đính kèm nhóm tham số này vào phiên bản RDS .
Làm cách nào để kiểm tra các biến toàn cục trong MySQL?HIỂN THỊ BIẾN chấp nhận công cụ sửa đổi phạm vi biến GLOBAL hoặc SESSION tùy chọn. Với công cụ sửa đổi TOÀN CẦU, câu lệnh hiển thị các giá trị biến hệ thống toàn cầu. Đây là các giá trị được sử dụng để khởi tạo các biến phiên tương ứng cho các kết nối mới tới MySQL. Nếu một biến không có giá trị toàn cầu, không có giá trị nào được hiển thị. |