Назад | Перейти на главную страницу

Ограничить количество подключений к базе данных MySQL

Можно ли ограничить количество одновременных подключений к одной базе данных MySQL, независимо от того, какой пользователь к ней подключается?

В /etc/my.cnf (по умолчанию) под [mysqld] раздел, вы можете добавить / отредактировать следующее:

max_connections = 500 

Это позволит подключиться 501 пользователю. 500 обычных подключений и 1 зарезервированное подключение для суперпользователя. Это ограничит общее количество подключений ко всему серверу mysql.

Если вы хотите ограничить количество пользователей, которые могут использовать одну базу данных, переместите ее в отдельную установку mysql. Это даст вам дополнительные накладные расходы.

Более подробную информацию о том, как это сделать, можно найти здесь: Документация по нескольким серверам mySQL

Нет, это невозможно.
Вы можете ограничить количество подключений, которые может иметь один пользователь, или глобально ограничить общие подключения, которые может принимать один экземпляр.
Вы не можете ограничить подключения к одной конкретной базе данных независимо от пользователя.

https://dev.mysql.com/tech-resources/articles/mysql-administrator-best-practices.html

«Установите max_connections на необходимое количество одновременных подключений. Значение по умолчанию - всего 100 подключений, что очень мало».

Итак, да, вы можете установить "max_connections"

Вы можете использовать max_connections системная переменная. Больше информации Вот.

После перечитывания вашего вопроса, похоже, вы хотите ограничить количество подключений одним конкретный база данных. К сожалению, это невозможно, но вы можете предоставить разрешения только одному пользователю для доступа к этой базе данных и ограничить его подключения - да, это всего лишь обходной путь, но, на мой взгляд, это лучший вариант в вашем случае. Вот Дополнительная информация о том, как ограничить ресурсы пользователя.