B.3.2.3 & nbsp; Mất kết nối với máy chủ MySQL
Có ba nguyên nhân có khả năng cho thông báo lỗi này.
Thông thường nó cho biết sự cố kết nối mạng và bạn nên kiểm tra tình trạng mạng của mình nếu lỗi này xảy ra thường xuyên. Nếu thông báo lỗi bao gồm trong quá trình truy vấn, thì đây có lẽ là trường hợp bạn đang gặp phải.“during query,” this is probably the case you are experiencing.
Đôi khi các hình thức trong quá trình truy vấn của người Viking xảy ra khi hàng triệu hàng đang được gửi như một phần của một hoặc nhiều truy vấn. Nếu bạn biết rằng điều này đang xảy ra, bạn nên thử tăng net_read_timeout
từ mặc định là 30 giây lên 60 giây hoặc lâu hơn, đủ để truyền dữ liệu hoàn thành.“during
query” form happens when millions of rows are being sent as part of one or more queries. If you know that this is happening, you should try increasing net_read_timeout
from its default of 30 seconds to 60 seconds or longer, sufficient for the data transfer to complete.
Hiếm khi nó có thể xảy ra khi máy khách đang cố gắng kết nối ban đầu với máy chủ. Trong trường hợp này, nếu giá trị connect_timeout
của bạn được đặt thành chỉ vài giây, bạn có thể giải quyết vấn đề bằng cách tăng nó lên mười giây, có lẽ nhiều hơn nếu bạn có kết nối chậm hoặc chậm. Bạn có thể xác định xem bạn đang trải qua nguyên nhân không phổ biến hơn này bằng cách sử dụng SHOW GLOBAL STATUS LIKE 'Aborted_connects'
. Nó tăng thêm một cho mỗi lần thử kết nối ban đầu mà máy chủ hủy bỏ. Bạn có thể thấy gói ủy quyền đọc của người Viking là một phần của thông báo lỗi; Nếu vậy, điều đó cũng gợi ý rằng đây là giải pháp mà bạn cần.“reading authorization packet” as part of the error message; if so, that also suggests that this is the solution that you need.
Nếu nguyên nhân không có gì trong số đó chỉ được mô tả, bạn có thể gặp vấn đề với các giá trị BLOB
lớn hơn max_allowed_packet
, điều này có thể gây ra lỗi này với một số máy khách. Đôi khi bạn có thể thấy lỗi ER_NET_PACKET_TOO_LARGE
và điều đó xác nhận rằng bạn cần tăng max_allowed_packet
.
Winsql »cơ sở kiến thức
Thông tin tài liệu
763 |
Tại sao tôi mất kết nối với MySQL sau một thời gian? |
29/7/09 2:42 PM |
29/7/09 2:42 PM |
Đã sửa đổi lần cuối:
Thông tin chi tiết
Theo mặc định, máy chủ MySQL chấm dứt kết nối máy khách sau 28800 giây không hoạt động. Thường thì quản trị viên cơ sở dữ liệu thay đổi giá trị này thành số thấp hơn. Điều này dẫn đến kết nối bị hỏng nếu người dùng không gửi bất kỳ truy vấn nào trong một thời gian dài.
Nhập truy vấn sau để xem cài đặt hiện tại là gì cho biến này. VARIABLES like 'interactive_timeout'
In addition to 'interactive_timeout', you might also want to check the value for 'wait_timeout. Refer to MySQL documentation for a detailed description
of these parameters.
To set a new value for these parameters, you can use the SET command. For example:
SET interactive_timeout=32000
IMPORTANT: There is no configuration setting in WinSQL [the client] that automatically terminates a connection.
Therefore, the only way to fix this problem is to change the configuration parameter on the server.
Show & nbsp; biến & nbsp; như & nbsp; 'interactive_timeout' ngoài 'interactive_timeout', bạn cũng có thể muốn kiểm tra giá trị cho 'Wait_Timeout. Tham khảo tài liệu MySQL để biết mô tả chi tiết về các tham số này. Để đặt giá trị mới cho các tham số này, bạn có thể sử dụng lệnh SET. Ví dụ: SET & NBSP; Interactive_Timeout = 32000Important: Không có cài đặt cấu hình trong WINQL [máy khách] tự động chấm dứt kết nối. Do đó, cách duy nhất để khắc phục sự cố này là thay đổi tham số cấu hình trên máy chủ.
Thêm một nhận xét vào tài liệu này
Bạn có một mẹo hữu ích liên quan đến tài liệu này mà bạn muốn chia sẻ với người dùng khác không? This area is reserved for useful tips. Therefore, do not post any questions here. Instead, use our public forums to post questions.
Vào ngày 10 tháng 9 năm 2019 •
Trong bài đăng trên blog này, tôi sẽ chỉ cho bạn cách khắc phục sự cố và giải quyết các vấn đề kết nối với phiên bản Aurora MySQL RDS.
Báo cáo vấn đề & NBSP;
Chúng tôi không thể thiết lập kết nối với một trong các lưu trữ dữ liệu Aurora MySQL RDS của chúng tôi. Tôi sử dụng MySQL Workbench cục bộ để kết nối với cơ sở dữ liệu AWS và tôi có thể kết nối với mọi cơ sở dữ liệu khác ngoại trừ cái này. & NBSP; vui lòng tìm bên dưới chi tiết lỗi - Please find below the error details —
Mất kết nối với máy chủ MySQL trong quá trình truy vấn
Vui lòng: 1 Kiểm tra xem MySQL có đang chạy trên địa chỉ ***** 2 Kiểm tra xem MySQL có thể truy cập được trên cổng 3306 không [lưu ý: 3306 là mặc định, nhưng điều này có thể được thay đổi] 3 Kiểm tra quyền của người dùng có quyền kết nối với ** *** Từ địa chỉ của bạn [Quyền MySQL xác định những gì máy khách có thể kết nối với máy chủ và từ máy nào] 'Kết nối lại từ.
1 Check that MySQL is running on address *****
2 Check that MySQL is reachable on port 3306 [note: 3306 is the default, but this can be changed]
3 Check the user admin has rights to connect to ***** from your address [MySQL rights define what clients can connect to the server and from which machines]
4 Make sure you are both providing a password if needed and using the correct password for ***** connecting from the host address you’re connecting from.
Đọc qua các điều trên có vẻ như có một vấn đề kết nối giữa máy khách MySQL và máy chủ cơ sở dữ liệu và kết nối được định thời trước khi trả về dữ liệu.
Là vấn đề cụ thể cho MySQL Workbench?
- 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.SSH Timeout and DBMS Timeout value is set to only a few seconds.
- 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.
Bạn đã thử khởi động lại thể hiện cơ sở dữ liệu chưa?
Khởi động lại phiên bản DB khởi động lại dịch vụ cơ sở dữ liệu. Nó sẽ dẫn đến việc ngừng hoạt động nhất thời.
Bạn cũng có thể khởi động lại thể hiện cơ sở dữ liệu bằng AWS CLI -
AWS RDS REBOOT-DB-INSTANCE
Đảm bảo kiểm tra trạng thái cơ sở dữ liệu và xác nhận nó có sẵn
Bạn đã kiểm tra các số liệu CloudWatch cho cụm cơ sở dữ liệu chưa?
Bạn có thể kiểm tra các số liệu cơ sở dữ liệu CloudWatch - đặc biệt là DatabaseConnections, Engineuptime và UpdateThroughput như một bước khắc phục sự cố.
Trong trường hợp này có vẻ như sau khi khởi động lại động cơ vào ngày 8/11, đã có một số vấn đề kết nối.
Bạn đã kiểm tra nhật ký lỗi cơ sở dữ liệu chưa?
Bạn có thể xem, tải xuống và xem nhật ký cơ sở dữ liệu bằng bảng điều khiển Amazon RDS.
Đây là nơi tôi có thể tìm ra nguyên nhân gốc của sự cố kết nối. Rõ ràng là có một lỗi trong các nhật ký nêu rõ - lệnh init_connect không thành công
INIT_CONNECT - Tham số này xác định một chuỗi để máy chủ chạy cho mỗi máy khách kết nối. Không có giá trị mặc định cho tham số này. Chuỗi bao gồm một hoặc nhiều câu lệnh SQL, được phân tách bằng dấu chấm phẩy. — This parameter defines a string for the server to run for each client that connects. There is no default value for this parameter. The string consists of one or more SQL statements, separated by semicolons.
Tôi đã có một giá trị không chính xác được đề cập & nbsp; tham số ‘init_connect, gây ra sự cố. Khi tôi đã sửa giá trị và áp dụng các thay đổi, tôi đã có thể kết nối với cơ sở dữ liệu.
Conclusion
Tóm tắt bài đăng trên blog này, có một số điều bạn có thể làm để khắc phục sự cố kết nối với cơ sở dữ liệu AWS RDS của bạn trong khi cố gắng kết nối cục bộ thông qua MySQL Workbench -
- Xác nhận vấn đề không cụ thể cho MySQL Workbench
- Khởi động lại thể hiện cơ sở dữ liệu
- Kiểm tra các số liệu của CloudWatch cho cụm cơ sở dữ liệu
- Kiểm tra nhật ký lỗi cơ sở dữ liệu
Kiểm tra các bài đăng trên blog gần đây của tôi về các vấn đề khắc phục sự cố -
Khắc phục sự cố với dịch vụ di chuyển cơ sở dữ liệu AWS
Lỗi đường bay: Tìm thấy [các] lược đồ không trống mà không có bảng lịch sử lược đồ
Lỗi Tomcat - java.net.bindexception: Địa chỉ đã được sử dụng
Giải quyết các vấn đề tốt nghiệp trong ý tưởng IntelliJ
Đồng bộ hóa các dự án Gradle với không gian làm việc không thành công
Thể loại: AWS, MySQL
Tags: AWS, MySQL