Hướng dẫn how do i fix mysql too many connections? - làm cách nào để sửa lỗi mysql quá nhiều kết nối?

Vấn đề

Khi một khách hàng cố gắng đăng nhập vào MySQL, đôi khi có thể bị từ chối và nhận được một thông báo lỗi nói rằng có quá nhiều kết nối. Điều này có nghĩa là số lượng máy khách tối đa có thể được kết nối với máy chủ đã đạt được. Khách hàng sẽ phải đợi khách hàng khác đăng xuất hoặc quản trị viên sẽ phải tăng số lượng kết nối tối đa cho phép.too many connections“. This means that the maximum number of clients that may be connected to the server has been reached. Either the client will have to wait for another client to log off, or the administrator will have to increase the maximum number of connections allowed.

Thông tin về các kết nối với máy chủ có thể được tìm thấy bằng cách sử dụng câu lệnh STATE STATE:

$ mysql –u root –p
SHOW STATUS LIKE 'max_used_connections';

Đầu tiên, bạn nên đảm bảo rằng các ứng dụng của bạn đang đóng các kết nối với máy chủ khi chúng không còn cần thiết. Tuy nhiên, bạn có thể giải quyết lỗi này bằng cách tăng giá trị của biến MAX_Connections và có thể giảm giá trị của Wait_Timeout nếu bạn mong đợi rằng nhiều kết nối với máy chủ của bạn không được sử dụng tích cực.

Dung dịch

Số lượng chủ đề kết nối tối đa được phép cho máy chủ được chứa trong biến hệ thống Max_Connections. Giá trị mặc định là 151. Để xem giá trị mà biến này được đặt, hãy chạy lệnh SQL sau:max_connections. The default value is 151. To see the value to which this variable is set, run the following SQL command:

$ mysql –u root –p
mysql> SHOW VARIABLES LIKE 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 151   |
+-----------------+-------+

Thay đổi tham số Max_Connections [tạm thời]

Để thay đổi giá trị của biến hệ thống MAX_CONNENTS, tùy chọn có thể được sử dụng tùy chọn. Để thay đổi biến này tạm thời trong khi máy chủ đang chạy, hãy nhập câu lệnh SQL sau:–max_connections option can be used. To change this variable temporarily while the server is running, enter the following SQL statement:

$ mysql –u root –p
mysql> SET GLOBAL max_connections = 512;

Lưu ý: Không cần thiết phải có một máy khách hiện được kết nối với máy chủ ngắt kết nối để chạy câu lệnh SQL này dưới dạng gốc. Máy chủ cho phép một kết nối nhiều hơn giá trị của Max_Connections. Một kết nối được dành riêng cho người dùng gốc hoặc bất kỳ tài khoản nào khác có siêu đặc quyền.: It’s not necessary to have a client which is currently connected to the server disconnect to run this SQL statement as root. The server permits one connection more than the value of the max_connections. One connection is reserved for the root user or any other accounts that has SUPER privilege.

Khi Daemon máy chủ MySQL [MySQLD] được khởi động lại, giá trị trên sẽ được đặt trở lại giá trị mặc định là 151. Để thay đổi sử dụng vĩnh viễn phương thức bên dưới.

Thay đổi tham số Max_Connections [vĩnh viễn]

Một phương thức tốt hơn để thay đổi tham số Max_Connections sẽ là thêm tùy chọn này vào tệp tùy chọn [My.cnf hoặc My.ini, tùy thuộc vào hệ thống của bạn] để có hiệu lực lần sau khi máy chủ được khởi động lại. Giả sử bạn đang sử dụng tệp /etc/my.cnf, thêm dòng dưới đây vào nó.my.cnf or my.ini, depending on your system] so that it takes effect next time the server is restarted. Assuming you are using /etc/my.cnf file, add the below line to it.

# vi /etc/my.cnf
max_connections = 512

Bây giờ khởi động lại trình nền MySQLD để các thay đổi có hiệu lực.

Cho Centos/Rhel 6::

Cho Centos/Rhel 7::

# systemctl restart mysqld

Giá trị tối đa cho max_connections trên Linux là gì?

Giới hạn trên cho mức độ lớn của bạn có thể định cấu hình MAX_Connections phần lớn được xác định bởi hệ điều hành ngoài giới hạn 100.000 mà MySQL đặt ra. Linux có một giới hạn gọi là các tệp MAX Open, điều này được xác định trên mỗi đăng nhập và nói rằng số lượng tệp tối đa mà một quy trình có thể mở. Mặc định là 1024 [mà bạn có thể thấy bằng UliMit -N].max open files, this is defined “per login” and says the maximum number of files a process can open. The default is 1024 [which you can see using ulimit -n].

MYSQL đã xảy ra quá nhiều lỗi kết nối khi có nhiều truy vấn được gửi đến cơ sở dữ liệu MySQL hơn là có thể được xử lý. Lỗi có thể được sửa bằng cách đặt số kết nối tối đa mới trong tệp cấu hình hoặc toàn cầu.maximum connections in the configuration file or globally.

Làm cách nào để thay đổi các kết nối tối đa trong MySQL?

  1. Bạn sẽ có thể đạt được điều này bằng cách làm như sau:.
  2. Truy cập công cụ dòng lệnh MySQL của bạn ..
  3. Lệnh: Hiển thị các biến như "max_connections" ;.
    1. Điều này sẽ trả về một đầu ra như vậy: biến_name. ....
    2. 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; ..
    3. Làm cách nào để kiểm tra quá nhiều kết nối 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 ..is exceeded, MySQL displays the error message above. This is the case, for example, when a PHP script tries to establish too many simultaneous connections to the relational database. If you’re using a web application that uses a MySQL database, it is possible that the MySQL “Too many connections” error occurs when demand is very high.

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; ..

Làm cách nào để kiểm tra quá nhiều kết nối trong MySQL?

Thông tin về các kết nối với máy chủ có thể được tìm thấy bằng cách sử dụng câu lệnh trạng thái hiển thị: $ mysqlTHERu root rootp hiển thị trạng thái như 'max_uss_connections'; Đầu tiên, bạn nên đảm bảo rằng các ứng dụng của bạn đang đóng các kết nối với máy chủ khi chúng không còn cần thiết.

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" ;.system variable max_connections determines the number of connections which MySQL/MariaDB will accept. The default value is 151 connections, which allows 150 normal connections plus one connection from the SUPER account. SUPER is a MySQL privilege that grants admin rights to the user.

Điều này sẽ trả về một đầu ra như vậy: biến_name. ....

  • Số lượng RAM có sẵnRAM
  • Bao nhiêu RAM mỗi kết nối mất [các truy vấn đơn giản sẽ yêu cầu RAM ít hơn so với các kết nối sử dụng nhiều lao động hơn].
  • Thời gian phản hồi chấp nhận được.response time.

Theo tài liệu MySQL, hầu hết các hệ thống Linux sẽ có thể hỗ trợ 500 đến 1.000 kết nối mà không gặp khó khăn.support 500 to 1,000 connections without difficulty.

Lưu trữ đám mây Hidrive với Ionos!

Có trụ sở tại châu Âu, Hidrive bảo vệ dữ liệu của bạn trên đám mây để bạn có thể dễ dàng truy cập nó từ bất kỳ thiết bị nào!

Rất an toàn

Truy cập được chia sẻ

Có sẵn ở bất cứ đâu

Thay đổi Max_Connections

Biến Max_Connections có thể được thay đổi ở hai nơi:

Cập nhật tệp My.cnf, để giá trị mới được sử dụng nếu máy chủ MySQL/MariaDB được khởi động lại.my.cnf file, so that the new value is used if the MySQL/MariaDB server is restarted.

Sử dụng lệnh Global SET để cập nhật giá trị trên máy chủ MySQL/MariaDB đang chạy. Trong trường hợp này, không cần phải khởi động lại mysql/mariadb, vì vậy bạn không phải cho phép bất kỳ thời gian chết nào của cơ sở dữ liệu của bạn.SET GLOBAL command to update the value on the running MySQL/MariaDB server. In this case, there is no need to restart MySQL/MariaDB, so you do not have to allow for any downtime of your database.

Hiển thị số lượng kết nối trong MySQL

Để kiểm tra số lượng hiện tại của MAX_CONNONTECTIONS đăng nhập vào ứng dụng Line lệnh MySQL/Mariadb với lệnh sau:

Điều này sẽ xuất ra một danh sách tất cả các biến được đặt cho mysql/mariadb. Cuộn lên qua danh sách để tìm giá trị cho & nbsp; max_connections.

Cập nhật tệp My.cnf

Mở tệp /etc/my.cnf để chỉnh sửa với lệnh:

Ngay bên dưới dòng đầu tiên, bạn sẽ thấy mục nhập sau:

max_connections=[desired new maximum number]

Ví dụ: để đặt max_connections thành 200, hai dòng đầu tiên của tệp cấu hình của bạn sẽ trông như thế này:

[mysqld]
max_connections=200

Đặt số lượng kết nối trên toàn cầu

Bạn cũng có thể đặt số lượng kết nối tối đa cho cơ sở dữ liệu của bạn trên toàn cầu. Trước tiên, hãy đăng nhập vào ứng dụng khách lệnh MySQL/MariaDB bằng lệnh:

Điều chỉnh số lượng tối đa mới của bạn chọn giá trị MAX_CONNENTEctions mới với lệnh:

SET GLOBAL max_connections=[desired new maximum number];

Ví dụ: để đặt max_connections thành 200, lệnh là:

SET GLOBAL max_connections=200;

Cuối cùng, thoát MySQL/Mariadb bằng lệnh:

WordPress quản lý lưu trữ với ionos!

Bắt đầu trang web của bạn một cách nhanh chóng và được hưởng lợi từ phiên bản WordPress an toàn và cập nhật nhất!

Những bài viết liên quan

Hướng dẫn MySQL: Hướng dẫn toàn diện cho người mới bắt đầu

Cùng với Oracle và Microsoft SQL Server, MySQL là một trong những hệ thống quản lý phổ biến nhất cho cơ sở dữ liệu quan hệ. Ngày nay, phần mềm được phát triển bởi MySQL AB thuộc về danh mục sản phẩm của Oracle Corporation và được bán trên thị trường theo giấy phép kép. Kể từ năm 2009, một Nguồn mở MySQL Fork, được gọi là MariadB, cũng đã có sẵn từ các nhà phát triển ban đầu. Ở đây chúng tôi cho ...

Hướng dẫn MySQL: Hướng dẫn toàn diện cho người mới bắt đầu

Mariadb so với MySQL

MySQL là hệ thống quản lý cơ sở dữ liệu được sử dụng nhiều nhất trên thế giới. Phần mềm nguồn mở này đã có sẵn để sử dụng hiệu quả từ năm 1995 và thường được coi là một giải pháp tiêu chuẩn cho người dùng cơ sở dữ liệu quan hệ. Điều này có thể thay đổi trong tương lai gần. Mariadb, một chiếc nĩa do cộng đồng phát triển của MySQL đang bắt kịp người tiền nhiệm của nó và do đó đang trở thành một ngày càng hấp dẫn ...

Mariadb so với MySQL

MySQLI: Một sự phát triển mới trong PHP

Chuyển đổi tiện ích mở rộng MySQL sang MySQLI đã dẫn đến một số sự không chắc chắn trong cộng đồng PHP vì một số đối thủ nặng ký của ngành công nghiệp như WordPress tiếp tục dựa vào phần mở rộng cũ mặc dù nó không được chấp nhận. Tuy nhiên, kể từ Php 7, tiện ích mở rộng này không còn có sẵn. Trong bài viết này, chúng tôi sẽ xem xét chi tiết người kế nhiệm và trình bày các ví dụ nêu bật sự khác biệt giữa hai ...

MySQLI: Một sự phát triển mới trong PHP

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

MYSQL đã xảy ra quá nhiều lỗi kết nối khi có nhiều truy vấn được gửi đến cơ sở dữ liệu MySQL hơn là có thể được xử lý. Lỗi có thể được sửa bằng cách đặt số kết nối tối đa mới trong tệp cấu hình hoặc toàn cầu.more queries are sent to a MySQL database than can be processed. The error can be fixed by setting a new number of maximum connections in the configuration file or globally.

Làm cách nào để thay đổi các 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;..

Làm cách nào để kiểm tra quá nhiều kết nối trong MySQL?

Thông tin về các kết nối với máy chủ có thể được tìm thấy bằng cách sử dụng câu lệnh trạng thái hiển thị: $ mysql, root roott hiển thị trạng thái như 'max_uss_connections';Đầu tiên, bạn nên đảm bảo rằng các ứng dụng của bạn đang đóng các kết nối với máy chủ khi chúng không còn cần thiết.

Nó có nghĩa là gì khi nó nói quá nhiều kết nối?

Điều này có nghĩa là số lượng máy khách tối đa có thể kết nối với máy chủ đã đạt được.Một khách hàng sẽ phải đợi người khác đăng xuất hoặc quản trị viên sẽ phải tăng số lượng kết nối tối đa cho phép.the maximum number of clients that can connect to the server has been reached. Either one client will have to wait for another to log off, or the administrator will have to increase the maximum number of connections allowed.

Bài Viết Liên Quan

Chủ Đề