Hướng dẫn how to set max_connections in mysql permanently - cách đặt max_connections trong mysql vĩnh viễn

Tôi đã có cùng một vấn đề khi sử dụng Ubuntu 16.04. Phải làm theo cách này:

sudo vim /etc/systemd/system/mysql.service  

Đã thêm các dòng ở cuối tệp:

LimitNOFILE=infinity
LimitMEMLOCK=infinity 

Đã tải lại cấu hình Systemd:

sudo systemctl daemon-reload

Tăng số lượng tệp mà hệ thống có thể mở:

ulimit -n 4096

Đã chỉnh sửa My.cnf như thế này:

vi /etc/mysql/mysql.conf.d/mysqld.cnf

Tìm kiếm các kết nối max_connection và thay đổi giá trị của nó thành 2000.

Để đảm bảo các cài đặt trở nên vĩnh viễn thực hiện khởi động lại dịch vụ MySQL:

 sudo service mysql restart

Đã đến Phpmyadmin và kiểm tra biến toàn cầu MAX_CONNONS bằng cách sử dụng:

SHOW VARIABLES like '%max_connections';

Nó đã hoạt động - bây giờ khi Daemon khởi động lại, tôi có cùng MAX_Connections mà tôi có trước đây.

Đôi khi máy chủ của bạn có thể gặp sự cố của quá nhiều kết nối trong máy chủ MySQL. Để khắc phục điều này, bạn có thể tăng giá trị MAX_CONNONEctions trong cấu hình MySQL của bạn.max_connections value in your mysql configuration.

Giá trị kết nối tối đa được lưu trữ với biến có tên MAX_Connections. Đăng nhập cho bạn thiết bị đầu cuối MySQL với người dùng đặc quyền và thực thi truy vấn sau.

mysql> SHOW VARIABLES LIKE "max_connections";

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 150   |
+-----------------+-------+
1 row in set [0.00 sec]

Theo đầu ra trên Max_Connections giá trị được đặt thành 150.

Cập nhật giá trị Max_Connections

Trước khi tăng giá trị này, hãy đảm bảo máy chủ của bạn có đủ tài nguyên để xử lý nhiều truy vấn hơn. Bây giờ thực hiện truy vấn bên dưới trong thiết bị đầu cuối MySQL để đặt giá trị này tạm thời. Hãy nhớ rằng giá trị này sẽ đặt lại trên khởi động lại MySQL tiếp theo.

mysql> SET GLOBAL max_connections = 250;

Để đặt giá trị này vĩnh viễn, hãy chỉnh sửa tệp cấu hình MySQL trên máy chủ của bạn và đặt biến theo sau. Vị trí tệp cấu hình có thể thay đổi theo hệ điều hành của bạn. Theo mặc định, bạn có thể tìm thấy điều này tại /etc/my.cnf trên hệ thống dựa trên Centos và Rhel và /etc/mysql/my.cnf trên hệ thống dựa trên Debian./etc/my.cnf on CentOS and RHEL based system and /etc/mysql/my.cnf on Debian based system.

  max_connections = 250

Bây giờ khởi động lại dịch vụ MySQL và kiểm tra giá trị với lệnh đã cho ở trên. Lần này bạn sẽ thấy giá trị đó được đặt thành 250.

Trang chủ / Cách cập nhật cài đặt Max_Connections trong MySQLHow to update the max_connections setting in MySQL

Nếu bạn nhận được quá nhiều kết nối, các lỗ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 tăng. 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ể thấy 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ự:

LimitNOFILE=infinity
LimitMEMLOCK=infinity 
0

Điều này sẽ trả về một kết quả như thế này, cho bạn thấy cài đặt kết nối MAX hiện tại của bạn là gì:

LimitNOFILE=infinity
LimitMEMLOCK=infinity 
1

Bạn có thể thay đổi cài đặt thành ví dụ: 200 Bằng cách phát hành lệnh sau mà không 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 bạn đăng nhập vì có đủ quyền để thực hiện điều này]:

LimitNOFILE=infinity
LimitMEMLOCK=infinity 
2

Điều này sẽ có hiệu lực ngay lập tức, nhưng sẽ bị lãng quên vào lần tới khi MySQL được khởi động lại. Để thực hiện thay đổi vĩnh viễn, bạn cần chỉnh sửa tệp cấu hình My.cnf. Trên centos, redhat và các phân phối tương tự đây là tại /etc/my.cnf; Các bản phân phối khác sẽ lưu trữ nó ở nơi khác.

Trong phần [MySQLD] Thêm cài đặt sau:

LimitNOFILE=infinity
LimitMEMLOCK=infinity 
3

Bây giờ khi bạn khởi động lại MySQL vào lần tiếp theo, 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ẽ làm tăng lượng RAM tiềm năng cần thiết để MySQL chạy. Tăng cài đặt Max_Connections một cách thận trọng!

Đôi khi, máy chủ MySQL có thể cung cấp cho quá nhiều thông báo lỗi kết nối khi bạn cố gắng kết nối với cơ sở dữ liệu MySQL. Tại đây, cách thức tăng kết nối tối đa trong MySQL để khắc phục sự cố này.

Điều gì gây ra MYSQL quá nhiều kết nối?

Nếu bạn nhận được thông báo lỗi quá nhiều kết nối, trong khi kết nối với cơ sở dữ liệu MySQL, điều đó có nghĩa là tất cả các kết nối có sẵn đã được sử dụng bởi các máy khách khác nhau và máy chủ MySQL của bạn không thể mở bất kỳ kết nối mới nào cho đến khi bất kỳ kết nối hiện có nào được đóng.

MySQL có thể xử lý bao nhiêu kết nối?

Theo mặc định, MySQL 5.5+ có thể xử lý tối đa 151 kết nối. Số này được lưu trữ trong biến máy chủ được gọi là max_connections. Bạn có thể cập nhật biến Max_Connections để tăng các kết nối được hỗ trợ tối đa trong MySQL, miễn là máy chủ của bạn có đủ RAM để hỗ trợ các kết nối tăng lên.

Dưới đây là các bước để tăng kết nối tối đa trong MySQL.

1. Kiểm tra các kết nối tối đa mặc định

Đăng nhập vào công cụ dòng lệnh MySQL và chạy lệnh sau để nhận các kết nối tối đa mặc định hiện tại được hỗ trợ bởi máy chủ cơ sở dữ liệu của bạn.

LimitNOFILE=infinity
LimitMEMLOCK=infinity 
4

Bạn sẽ thấy đầu ra sau.

LimitNOFILE=infinity
LimitMEMLOCK=infinity 
1

2. Tăng kết nối tối đa

Có hai cách để tăng kết nối MySQL. Ở đây, lệnh của lệnh cập nhật kết nối tối đa lên 200 thông qua công cụ dòng lệnh MySQL mà không cần khởi động lại.

LimitNOFILE=infinity
LimitMEMLOCK=infinity 
6

Lệnh trên sẽ tăng kết nối tối đa mà không cần khởi động lại nhưng một khi máy chủ được khởi động lại, các thay đổi sẽ biến mất. Phương pháp này rất hữu ích để tăng kết nối có sẵn trong một hệ thống sản xuất như trang web/ứng dụng mà không phải khởi động lại máy chủ cơ sở dữ liệu của bạn.

Để tăng vĩnh viễn các kết nối tối đa, hãy mở tệp My.cnf,

LimitNOFILE=infinity
LimitMEMLOCK=infinity 
7

Tùy thuộc vào phân phối Linux và loại cài đặt của bạn, tệp My.cnf có thể được đặt tại bất kỳ vị trí nào sau đây.

  • /etc/my.cnf
  • /etc/mysql/my.cnf
  • $MYSQL_HOME/my.cnf
  • ~/.my.cnf

Thêm dòng sau trong phần [MySQLD].

LimitNOFILE=infinity
LimitMEMLOCK=infinity 
3

Bây giờ nếu bạn khởi động lại máy chủ MySQL, các thay đổi sẽ tồn tại.

3. Khởi động lại máy chủ MySQL

Khởi động lại máy chủ MySQL để áp dụng các thay đổi

LimitNOFILE=infinity
LimitMEMLOCK=infinity 
9

Hy vọng, hướng dẫn trên sẽ giúp bạn tăng kết nối tối đa trong MySQL.

UBIQ & NBSP; giúp bạn dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong bảng điều khiển thời gian thực. & NBSP; Hãy thử miễn phí!

Bài viết liên quan:

  • về tác giả

Làm cách nào để đặt vĩnh viễn kết nối tối đa trong mysql?

Bạn sẽ có thể đạt được điều này bằng cách làm như sau:..
Truy cập công cụ dòng lệnh MySQL của bạn ..
Lệnh: Hiển thị các biến như "max_connections" ;.
Điều này sẽ trả về một đầu ra như vậy: biến_name. ....
Nếu bạn có các quyền thích hợp, hãy thay đổi biến bằng cách chạy lệnh: Đặt toàn cầu max_connections = $ desiredValue; ..

Max_connections MySQL là gì?

MYSQL kết nối giới hạn tại Cung cấp, cơ sở dữ liệu cho MySQL đặt số lượng kết nối tối đa vào cơ sở dữ liệu MySQL của bạn lên 200. Bạn có thể nâng giá trị này bằng cách thay đổi cấu hình MySQL.200. You can raise this value by Changing the MySQL Configuration.

Làm cách nào để thay đổi kết nối tối đa mà không cần khởi động lại MySQL?

Đây là lệnh để cập nhật kết nối tối đa lên 200 thông qua công cụ dòng lệnh MySQL mà không cần khởi động lại.mysql> đặt toàn cầu max_connections = 200;Lệnh trên sẽ tăng kết nối tối đa mà không cần khởi động lại nhưng một khi máy chủ được khởi động lại, các thay đổi sẽ biến mất.mysql> set global max_connections = 200; The above command will increase max connections without restart but once the server is restarted, the changes will be gone.

Làm cách nào để tránh quá nhiều lỗi kết nối trong mysql?

Nếu khách hàng gặp phải quá nhiều lỗi kết nối khi cố gắng kết nối với máy chủ MySQLD, tất cả các kết nối có sẵn đều được sử dụng bởi các máy khách khác.Số lượng kết nối được phép được kiểm soát bởi biến hệ thống MAX_CONNONNENTS.Để hỗ trợ nhiều kết nối hơn, hãy đặt MAX_Connections thành một giá trị lớn hơn.set max_connections to a larger value.

Bài Viết Liên Quan

Chủ Đề