Nếu bạn gặp lỗi "quá nhiều kết nối" trong MySQL, bạn có thể thay đổi cài đặt max_connections để cho phép nhiều kết nối hơn, giả sử bạn có đủ RAM để xử lý số lượng kết nối tăng lên. Bài đăng này xem xét cách cập nhật cài đặt max_connections trong MySQL
Cài đặt mặc định cho max_connections là 100. Bạn có thể xem cài đặt hiện tại là gì bằng cách chạy lệnh SQL sau từ công cụ dòng lệnh MySQL, phpMyAdmin hoặc một công cụ tương tự
show variables like "max_connections";
Thao tác này sẽ trả về tập kết quả như thế này, cho bạn biết cài đặt kết nối tối đa hiện tại của bạn là bao nhiêu
+-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 100 | +-----------------+-------+
Bạn có thể thay đổi cài đặt thành e. g. 200 bằng cách ban hành lệnh sau mà không cần phải khởi động lại máy chủ MySQL [rõ ràng nó sẽ chỉ hoạt động nếu người dùng mà bạn đăng nhập có đủ quyền để thực hiện việc này]
set global max_connections = 200;
Điều này sẽ có hiệu lực ngay lập tức, nhưng sẽ bị quên vào lần khởi động lại MySQL tiếp theo. Để thực hiện thay đổi vĩnh viễn, bạn cần chỉnh sửa tệp my. tập tin cấu hình cnf. Trên CentOS, RedHat và các bản phân phối tương tự, đây là tại /etc/my. cnf;
Trong phần [mysqld] thêm cài đặt sau
max_connections = 200
Bây giờ khi bạn khởi động lại MySQL vào lần tới, nó sẽ sử dụng cài đặt này thay vì mặc định
Lưu ý rằng việc tăng số lượng kết nối có thể được thực hiện sẽ tăng dung lượng RAM cần thiết để MySQL chạy. Tăng cài đặt max_connections một cách thận trọng
Máy chủ WordPress được quản lý cho phép 24 kết nối đồng thời. Thật không may, giá trị này không thể tăng lên. Nếu bạn yêu cầu một dịch vụ cần kết nối bổ sung, bạn có thể muốn xem xét máy chủ VPS, vì điều đó sẽ cho phép bạn có giá trị mặc định cao hơn là 100, với khả năng tăng giá trị hơn nữa nếu muốn
Tổng quan
Nếu bạn gặp lỗi Quá nhiều kết nối khi cố gắng kết nối với máy chủ mysqld, điều này có nghĩa là tất cả các kết nối khả dụng đang được sử dụng bởi các máy khách khác. Số lượng kết nối cho phép được kiểm soát bởi biến hệ thống max_connections. Giá trị mặc định của nó là 100. Nếu cần hỗ trợ nhiều kết nối hơn, bạn nên đặt giá trị lớn hơn cho biến này
MySQL SmartPool v. 2 cho Grid đi kèm với 30 kết nối MySQL
Nếu bạn gặp lỗi Too many connections
khi cố gắng kết nối với
0 server, this means that all available connections are in use by other clients.[mysqld]
local-infile=0
datadir=/var/lib/mysql
user=mysql
symbolic-links=0
max_connections = 100
Số lượng kết nối cho phép được kiểm soát bởi biến hệ thống
1 . Giá trị mặc định của nó là 100. Nếu cần hỗ trợ nhiều kết nối hơn, bạn nên đặt giá trị lớn hơn cho biến này. [mysqld]
local-infile=0
datadir=/var/lib/mysql
user=mysql
symbolic-links=0
max_connections = 100
Yêu cầu
Trước khi bạn bắt đầu, bài viết này có các phụ thuộc sau
- Bạn phải thiết lập quyền truy cập SSH cho người dùng root hoặc sudo
- Làm cách nào để kích hoạt quyền truy cập root vào DV của tôi?
- Làm cách nào để tắt đăng nhập SSH cho người dùng root?
ĐỌC TÔI TRƯỚC
Bài viết này được cung cấp như một phép lịch sự. Cài đặt, định cấu hình và khắc phục sự cố ứng dụng của bên thứ ba không được hỗ trợ bởi [mt] Media Temple. Vui lòng dành chút thời gian để xem lại Tuyên bố hỗ trợ.
Hỗ trợ nâng cao có thể giúp
Nếu bạn gặp sự cố với các bước trong bài viết này, bạn có thể được hỗ trợ thêm qua Hỗ trợ nâng cao, bộ phận dịch vụ cao cấp của chúng tôi. Các kỹ sư chuyên gia của chúng tôi có thể tinh chỉnh và điều chỉnh máy chủ của bạn để có hiệu suất tối ưu. Để biết thêm thông tin về những gì Hỗ trợ nâng cao có thể làm cho bạn, vui lòng nhấp vào đây
Hướng dẫn
Có thể nâng cấp các kết nối MySQL đồng thời của bạn bằng cách thêm MySQL GridContainer vào gói lưu trữ Grid của bạn. Ba kích cỡ khác nhau được cung cấp lần lượt là 60, 100 và 150 kết nối đồng thời
Để biết thêm thông tin về MySQL GridContainer, vui lòng xem trang sản phẩm Lưới của chúng tôi
Để tăng số kết nối tối đa mà MySQL cho phép, bạn phải chỉnh sửa tệp
[mysqld]
local-infile=0
datadir=/var/lib/mysql
user=mysql
symbolic-links=0
max_connections = 100
2. Kết nối với máy chủ thông qua SSH với tư cách là người dùng root hoặc sudo và nhập cái nàyvi /etc/my.cnf
Sẽ có một phần như thế này. [có thể hơi khác]
[mysqld]
local-infile=0
datadir=/var/lib/mysql
user=mysql
symbolic-links=0
max_connections = 100
Trong [mysqld], bạn có thể tăng kết nối MySQL tối đa của mình bằng cách thay đổi thuộc tính max_connections thành một cái gì đó như thế này
[mysqld]
safe-show-database
innodb_data_file_path=ibdata1:10M:autoextend
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
Thêm dòng sau vào [mysqld]
max_connections=250
Tệp cấu hình kết quả sẽ giống như thế này
[mysqld]
safe-show-database
innodb_data_file_path=ibdata1:10M:autoextend
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
max_connections=250
Lưu các thay đổi và nhập nội dung sau để khởi động lại mysqld
/etc/init.d/mysqld restart
Bạn sẽ thấy
Stopping mysql: [ OK ]
Starting mysql: [ OK ]
Nếu dừng FAILS, thì bạn đã làm sai điều gì đó. Cố gắng quay lại và đảm bảo rằng bạn đã nhập chính xác cài đặt mới
GHI CHÚ
Nếu bạn muốn kiểm tra xem cài đặt này có được áp dụng thành công hay không, bạn có thể kiểm tra bằng một trong các phương pháp sau