Connect_timeout trong MySQL là gì?

Hôm nay, chúng ta đang tìm hiểu cách thay đổi thời gian chờ kết nối trong MySQL bằng Linux [Ubuntu 20. 04] và hệ điều hành Windows

Đôi khi, bạn liên tục mất kết nối với Máy chủ MySQL vì thuộc tính

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
6 được đặt thành vài giây theo mặc định

Ở đây, chúng ta sẽ xem cách thay đổi giá trị mặc định của

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
6 trong MySQL bằng Linux [Ubuntu 20. 04] và hệ điều hành Windows

Chúng tôi có thể cập nhật tệp cấu hình hoặc sử dụng các truy vấn SQL để thực hiện các thay đổi trong cả hai hệ điều hành. Hãy xem từng người trong số họ

Đầu tiên, chúng ta cần mở Windows Command Line và điều hướng đến đường dẫn cài đặt MySQL Server. Theo mặc định, Máy chủ MySQL được cài đặt tại

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
8

Điều hướng đến thư mục

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
9 bằng cách sử dụng
mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;
0 trên Dòng lệnh. Ngoài ra, hãy nhập
mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;
1 để đăng nhập với tư cách người dùng
mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;
2

Bây giờ, chúng ta có thể thấy giá trị mặc định của thuộc tính

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
6 bằng cách sử dụng truy vấn sau trước khi thực hiện các cập nhật cần thiết

________số 8

đầu ra

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]

Như chúng ta có thể thấy, kết nối đến MySQL Server sẽ bị mất sau 10 giây. Vì vậy, chúng ta có thể thay đổi nó thành 28800 giây [8 giờ] bằng cách sử dụng các lệnh sau trên Windows Command-Line

Hãy nhớ rằng, cập nhật

mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;
4 và
mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;
5 là tốt vì nó sẽ hữu ích khi chạy các ứng dụng tiêu tốn nhiều thời gian để thực hiện đầy đủ

mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;

Sử dụng lệnh sau để xác nhận tất cả các bản cập nhật

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
3

đầu ra

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
4

Ở đây,

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
6 đại diện cho số giây mà máy chủ
mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;
7 đợi gói kết nối trước khi trả về
mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;
8.
mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;
4 cũng hiển thị số giây mà Máy chủ MySQL chờ một hoạt động trên kết nối tương tác trước khi đóng

Giống như

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
6 và
mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;
4,
mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;
5 cũng hiển thị số giây mà Máy chủ MySQL đợi một hoạt động trên kết nối trước khi đóng nó

Nếu bạn đang viết một ứng dụng nào đó, thì bạn có thể làm theo cách sau để thay đổi nó qua ngôn ngữ lập trình, chẳng hạn như Java hoặc Python

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
2

Một cách khác là cập nhật tệp cấu hình bằng cách mở tệp

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
33 tại đường dẫn
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
34 [nếu bạn đã cài đặt máy chủ MySQL ở vị trí mặc định]. Sau đó, tìm phần
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
35 và viết

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
6

Khởi động lại máy chủ MySQL và tận hưởng các bản cập nhật

Mở trình bao Ubuntu và đăng nhập với tư cách siêu người dùng bằng cách sử dụng

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
36. Sau đó, đăng nhập vào máy chủ MySQL bằng truy vấn sau

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
8

Khi chúng tôi vào, hãy kiểm tra giá trị mặc định của

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
6, là 10 giây, như chúng tôi có thể thấy bên dưới

________số 8

đầu ra

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]

Bây giờ, hãy thực hiện các truy vấn sau để cập nhật giá trị của

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
6,
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
39 và
mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;
5. Như đã đề cập trước đó, chúng tôi cập nhật ba ứng dụng này để chạy các ứng dụng mất nhiều thời gian để thực thi đầy đủ

mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;

đầu ra

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
1

Cách khác là cập nhật tệp cấu hình. Giả sử chúng ta kỳ vọng 28800 giây là giá trị của

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
6,
mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;
4 và
mysql> SET GLOBAL connect_timeout=28800;
mysql> SET GLOBAL interactive_timeout=28800;
mysql> SET GLOBAL wait_timeout=28800;
5

Để làm được điều đó, chúng ta cần chỉnh sửa tệp cấu hình nằm ở đường dẫn này,

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
44. Chúng tôi sử dụng trình soạn thảo
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| connect_timeout | 10    |
+-----------------+-------+
1 row in set [0.00 sec]
45;

Thời gian chờ kết nối MySQL là gì?

wait_timeout. Số giây máy chủ đợi hoạt động trên một kết nối không tương tác trước khi đóng nó. connect_timeout. Số giây mà máy chủ mysqld đợi gói kết nối trước khi phản hồi với Bắt tay không hợp lệ .

Làm cách nào để kiểm tra thời gian chờ kết nối trong MySQL?

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

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

Mạng hỗ trợ . Log in to your server by using Secure Shell® [SSH]. Sử dụng lệnh sudo để chỉnh sửa. cnf , tệp cấu hình MySQL®. Xác định vị trí cấu hình thời gian chờ và thực hiện các điều chỉnh phù hợp với máy chủ của bạn.

Tại sao MySQL hết thời gian chờ?

Lỗi hết thời gian kết nối xảy ra khi tường lửa của cơ sở dữ liệu không cho phép bạn kết nối với cơ sở dữ liệu từ máy hoặc tài nguyên cục bộ của bạn . Nếu bạn gặp phải lỗi này, hãy kiểm tra xem bạn đã thêm máy hoặc tài nguyên mà bạn đang kết nối vào danh sách các nguồn đáng tin cậy của cơ sở dữ liệu chưa.

Chủ Đề