Mất kết nối với máy chủ MySQL trong khi truy vấn mariadb

Khi tôi đang cố thực hiện một truy vấn từ một số bảng lớn thì kết nối với DB bị mất. LỖI 2013 (HY000). Mất kết nối với máy chủ MySQL trong khi truy vấn Tôi đang chạy truy vấn trực tiếp trên máy chủ DB

Tôi đã phát hành một số cấu hình trong. cnf nhưng sự cố vẫn tiếp diễn

net_read_timeout=600 net_write_timeout=180 wait_timeout=86400 Interactive_timeout=86400

  1. max_allowed_packet=128M key_buffer_size = 2560M max_allowed_packet = 7500M thread_stack = 1M thread_cache_size = 16 innodb_buffer_pool_size = 20G read_buffer_size = 128M read_rnd_buffer_size = 256M sort_buffer_size = 3G query_cache_size = 1024M innodb_covery = 4

Bình luận

Nội dung được sao chép trên trang web này là tài sản của chủ sở hữu tương ứng và nội dung này không được MariaDB xem xét trước. Quan điểm, thông tin và ý kiến ​​được thể hiện bởi nội dung này không nhất thiết đại diện cho quan điểm của MariaDB hoặc bất kỳ bên nào khác

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 sự cố kết nối với Phiên bản Aurora MySQL RDS

 

Báo cáo sự cố  

Chúng tôi không thể thiết lập kết nối với một trong các kho 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ơ sở dữ liệu này.   Vui lòng tìm chi tiết lỗi bên dưới —

Mất kết nối với máy chủ MySQL trong khi truy vấn

Mất kết nối với máy chủ MySQL trong khi truy vấn mariadb

Làm ơn.
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à giá trị mặc định nhưng có thể thay đổi giá trị này)
3 Kiểm tra xem quản trị viên 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 máy khách nào có thể kết nối với máy chủ và .
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 phần trên có vẻ như có sự cố 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 đã hết thời gian chờ trước khi trả về dữ liệu

 

Vấn đề có cụ thể đối với MySQL Workbench không?

  • Mở Tùy chọn bàn làm việc của MySQL
  • Kiểm tra xem giá trị Thời gian chờ SSH và Thời gian chờ DBMS có được đặt thành chỉ vài giây không
  • 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 MySQL Workbench 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

Mất kết nối với máy chủ MySQL trong khi truy vấn mariadb

 

Mất kết nối với máy chủ MySQL trong khi truy vấn mariadb

 

Bạn đã thử khởi động lại phiên bản Cơ sở dữ liệu chưa?

Khởi động lại một phiên bản CSDL sẽ khởi động lại dịch vụ công cụ cơ sở dữ liệu. Nó sẽ dẫn đến mất điện tạm thời mặc dù

Mất kết nối với máy chủ MySQL trong khi truy vấn mariadb

Bạn cũng có thể khởi động lại phiên bản cơ sở dữ liệu bằng AWS CLI —

aws rds reboot-db-instance –db-instance-identifier databasename –profile live –region us-east-1


Đảm bảo kiểm tra trạng thái Cơ sở dữ liệu và xác nhận trạng thái 'Có sẵn'

Mất kết nối với máy chủ MySQL trong khi truy vấn mariadb

 


Bạn đã kiểm tra Chỉ số Cloudwatch cho Cụm cơ sở dữ liệu chưa?

Bạn có thể kiểm tra các số liệu của 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ố

Mất kết nối với máy chủ MySQL trong khi truy vấn mariadb
                     
Mất kết nối với máy chủ MySQL trong khi truy vấn mariadb
          

Mất kết nối với máy chủ MySQL trong khi truy vấn mariadb
                       

Trong trường hợp này, có vẻ như sau khi động cơ khởi động lại vào ngày 11/8, đã xảy ra một số sự cố 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à theo dõi nhật ký cơ sở dữ liệu bằng bảng điều khiển Amazon RDS

Mất kết nối với máy chủ MySQL trong khi truy vấn mariadb

Đây là nơi tôi có thể tìm ra nguyên nhân cốt lõi của lỗi kết nối. Rõ ràng là đã có lỗi trong nhật ký nêu rõ - 'lệnh init_connect không thành công'

Mất kết nối với máy chủ MySQL trong khi truy vấn mariadb

Init_connect - Tham số này xác định một chuỗi để máy chủ chạy cho từng 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

Mất kết nối với máy chủ MySQL trong khi truy vấn mariadb

Tôi đã đề cập đến một giá trị không chính xác  thông 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

 

Kết luận  

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 mình trong khi cố gắng kết nối cục bộ qua MySQL Workbench —

Tại sao MySQL liên tục mất kết nối?

Lý do phổ biến nhất dẫn đến lỗi máy chủ MySQL đã biến mất là máy chủ đã hết thời gian chờ và đóng kết nối . Theo mặc định, máy chủ sẽ đó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 khởi động mysqld.

Làm cách nào để khắc phục thời gian chờ kết nối trong MySQL?

Stash được vận chuyển với khoảng thời gian kiểm tra kết nối mặc định là 10 phút. MySQL có giá trị mặc định của biến wait_timeout được đặt thành 28800 giây (8 giờ). .
HIỂN THỊ BIẾN
HIỂN THỊ CÁC BIẾN CỦA PHIÊN
HIỂN THỊ CÁC BIẾN TOÀN CẦU

Máy khách MySQL có thể kết nối với MariaDB không?

Kết nối từ ứng dụng khách dòng lệnh MySQL (không được mã hóa) . Thực hiện việc này sẽ kết nối bạn với cơ sở dữ liệu trên phiên bản Cơ sở dữ liệu MariaDB. To connect to a DB instance using the MySQL command-line client, enter the following command at a command prompt on a client computer. Doing this connects you to a database on a MariaDB DB instance.

Không thể kết nối với MariaDB?

thông thường có nghĩa là không có máy chủ MariaDB nào chạy trên hệ thống hoặc bạn đang sử dụng tên tệp ổ cắm Unix hoặc số cổng TCP/IP không chính xác 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 có bị chặn bởi tường lửa hoặc dịch vụ chặn cổng không. . You should also check that the TCP/IP port you are using has not been blocked by a firewall or port blocking service.