Mysql wait_timeout thay đổi

wait_timeout là thời gian mà mySQL đợi trước khi đóng kết nối nhàn rỗi. Trên hầu hết các máy chủ linux, wait_timeout cao và tốt hơn là giảm nó xuống giá trị thấp hơn. Các kết nối không hoạt động trong máy chủ sẽ dẫn đến các sự cố vì việc xây dựng các kết nối không hoạt động sẽ sử dụng nhiều tài nguyên máy chủ và sẽ dẫn đến tải máy chủ cao. Nhập lệnh “mysqladmin proc stat” HOẶC “mysqladmin processlist” để xem số lượng kết nối mysql ở trạng thái ngủ

Không đặt mySQL wait_timeout thành giá trị rất thấp vì bạn có thể thường xuyên đạt đến giới hạn thời gian chờ. Bạn sẽ thấy lỗi “Máy chủ MySQL đã biến mất” nếu wait_timeout/interactive_timeout được đặt quá thấp

Làm cách nào để kiểm tra giá trị wait_timeout mySQL hiện tại?

Bạn phải có quyền truy cập root của máy chủ để tăng/giảm giá trị mySQL wait_timeout và Interactive_timeout. Bạn phải liên hệ với nhà cung cấp dịch vụ lưu trữ web của mình nếu bạn không có quyền truy cập root máy chủ

1. Đăng nhập vào máy chủ qua SSH với tư cách người dùng 'root'

2 Chạy lệnh “biến mysqladmin. grep wait_timeout” để kiểm tra giá trị wait_timeout hiện tại

Ví dụ

[root@server ~]# biến mysqladmin. grep wait_timeout

chờ_thời gian chờ 28800

Trên máy chủ của tôi giá trị wait_timeout là 28800 giây. Đây là giá trị wait_timeout mặc định trên máy chủ linux và nó quá cao [8 giờ wait_timeout]

Khi một ứng dụng không đóng được kết nối không sử dụng, giá trị wait_timeout thấp sẽ giúp bạn tránh vượt quá số lượng kết nối cho phép. Sử dụng các hướng dẫn sau để đặt giá trị này

  1. Đăng nhập vào máy chủ của bạn bằng cách sử dụng Secure Shell® [SSH]

  2. Sử dụng lệnh sudo để chỉnh sửa my.cnf, tệp cấu hình MySQL®

     $ sudo vi /etc/my.cnf
    
  3. 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

     wait_timeout = 28800
     interactive_timeout = 28800
    
    • Giá trị interactive_timeout không ảnh hưởng đến bất kỳ kết nối ứng dụng web nào. Một wait_timeout thấp là một phương pháp hay nhất thông thường

    • Môi trường PHP phi trạng thái hoạt động tốt với thời gian chờ 60 giây trở xuống. Các ứng dụng sử dụng nhóm kết nối [Java®,. NET®, v.v.] cần điều chỉnh giá trị wait_timeout để phù hợp với cài đặt nhóm kết nối của họ.

       wait_timeout = 28800
       interactive_timeout = 28800
      
      0 giây mặc định hoạt động tốt với nhóm kết nối được định cấu hình đúng

    • Định cấu hình wait_timeout dài hơn một chút so với thời gian kết nối dự kiến ​​của nhóm kết nối ứng dụng để kiểm tra an toàn. Cân nhắc thay đổi giá trị trực tuyến vì điều đó không yêu cầu khởi động lại MySQL và bạn có thể điều chỉnh nó trong khi máy chủ chạy mà không phát sinh thời gian chết. Thay đổi giá trị thành

       wait_timeout = 28800
       interactive_timeout = 28800
      
      0 và mọi phiên mới được tạo sẽ kế thừa giá trị đó. Đảm bảo giữ nguyên cài đặt trong my.cnf. Mọi kết nối hiện có cần phải đạt giá trị cũ của wait_timeout nếu ứng dụng từ bỏ kết nối. Nếu bạn có các công việc báo cáo xử lý cục bộ lâu hơn trong khi giao dịch, bạn có thể xem xét việc các công việc đó gặp sự cố
       wait_timeout = 28800
       interactive_timeout = 28800
      
      3 khi kết nối

  4. Lưu các thay đổi và thoát khỏi trình chỉnh sửa

  5. Sử dụng lệnh sau để khởi động lại MySQL và áp dụng các thay đổi, nếu cần

     $ sudo /etc/init.d/mysql restart
    

©2020 Rackspace US, Inc

Trừ khi có ghi chú khác, nội dung trên trang này được cấp phép theo Creative Commons Attribution-NonCommercial-NoDerivs 3. 0 Giấy phép chưa chuyển đổi

Dilsi Chandrasena

Theo

9 Tháng Tư, 2018

·

2 phút đọc

Thay đổi biến wait_timeout của MySQL

  • Chúng tôi có thể đặt biến wait_timeout, cho một phiên hoặc trên toàn cầu
  • Nếu chúng ta đặt biến wait_timeout cho một phiên, nó sẽ chỉ hợp lệ cho một phiên cụ thể. Nhưng khi chúng tôi đặt biến wait_timeout trên toàn cầu, nó sẽ hợp lệ cho tất cả các phiên

Để chạy các lệnh này, trước tiên chúng ta cần đăng nhập vào máy chủ MySql

Chúng ta có thể kiểm tra các giá trị hiện tại của biến wait_timeout bằng các lệnh bên dưới

HIỂN THỊ CÁC BIẾN CỦA PHIÊN NHƯ “%wait_timeout%”;

  • Giá trị wait_timeout mặc định là 28800 giây

Nếu chúng ta cần đặt thời gian chờ này cho một phiên, chúng ta có thể sử dụng lệnh bên dưới

SET phiên wait_timeout=300;

Nếu chúng ta cần thay đổi giá trị toàn cầu wait_timeout, chúng ta nên làm theo các bước bên dưới

1. mở của tôi. cnf nằm trong thư mục /etc/mysql.
2. Thêm giá trị bên dưới với blog mysqld vào của tôi. tập tin cnf.

[mysqld]
wait_timeout=300
interactive_timeout = 300

3. Khởi động lại máy chủ MySQL bằng lệnh bên dưới

khởi động lại dịch vụ mysql

4. Sau đó, chúng ta có thể thấy biến wait_timeout đã thay đổi trên toàn cầu

Trước khi thay đổi giá trị toàn cầu,

Sau khi thay đổi giá trị toàn cầu,

Làm cách nào để đặt Wait_timeout toàn cầu trong MySQL?

Nếu chúng ta cần thay đổi giá trị toàn cầu wait_timeout, chúng ta nên làm theo các bước bên dưới. .
mở của tôi. cnf nằm trong thư mục /etc/mysql
Thêm giá trị bên dưới với blog mysqld vào của tôi. tập tin cnf. .
Khởi động lại máy chủ MySQL bằng lệnh bên dưới. .
Sau đó, chúng ta có thể thấy biến wait_timeout đã thay đổi trên toàn cầu

Làm cách nào để tăng giới hạn thời gian chờ trong MySQL?

Thay đổi thời gian chờ của MySQL trên máy chủ .
Đăng nhập vào máy chủ của bạn bằng cách sử dụng Secure Shell® [SSH]
Sử dụng lệnh sudo để chỉnh sửa của tôi. .
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. .
Lưu các thay đổi và thoát khỏi trình chỉnh sửa

Làm cách nào để đặt Wait_timeout trong MySQL Linux?

Lưu câu trả lời này. .
chỉnh sửa của tôi. cnf [tệp cấu hình MySQL]. .
Xác định vị trí cấu hình thời gian chờ và điều chỉnh nó để phù hợp với máy chủ của bạn. [mysqld] wait_timeout = 31536000 Interactive_timeout = 31536000
Lưu các thay đổi và thoát khỏi trình chỉnh sửa
Khởi động lại MySQL để áp dụng các thay đổi như sau. sudo /etc/init. khởi động lại d/mysql

Wait_timeout trong 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 . 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ệ.

Chủ Đề