Максимальное количество подключений mysql

Я установил максимальные соединения примерно в 2000 в файле my.cnf.

max_connections=2048

Я обновил до 5.5.20, и теперь я вижу следующую строку в журнале ошибок.

120201 19:40:24 [Warning] Changed limits: max_open_files: 1024  max_connections: 214  table_cache: 400

Почему mysql изменил значение максимальных соединений на 214?

# mysqladmin variables | grep max_connections
| max_connections | 214                                               

Мягкие и жесткие открытые файлы, ограниченные ОС, составляют 1024

# ulimit -Sa | grep "open files"
open files                      (-n) 1024

# ulimit -Ha | grep "open files"
open files                      (-n) 1024

Число фактически используемых максимальных соединений:

# mysql -e"show status like '%used_connections%'"
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Max_used_connections | 95     |
+----------------------+-------+
11 голосов | спросил shantanuo 1 FebruaryEurope/MoscowbWed, 01 Feb 2012 19:07:18 +0400000000pmWed, 01 Feb 2012 19:07:18 +040012 2012, 19:07:18

3 ответа


4

Кажется, все в порядке. У вас не может быть max_connections больше, потому что вы open_files_limit слишком низки. Для каждого соединения MySQL открывает несколько файлов. Посмотрите здесь .

Таким образом, вам придется увеличить ограничение на открытые файлы в вашей ОС, а затем вы можете установить более высокое значение max_connections.

ответил Aleksandar Vucetic 1 FebruaryEurope/MoscowbWed, 01 Feb 2012 20:04:42 +0400000000pmWed, 01 Feb 2012 20:04:42 +040012 2012, 20:04:42
5

Это похоже на ту же проблему, на которую я ответил в stackoverflow здесь , хотя я использовал CentOS 7 & MySQL 5.6.26

Вам нужно ограничить количество открытых файлов как для пользователя mysql (в limits.conf), так и для службы mysql (в файле mysql.service)

добавьте эти две строки в /etc/security/limits.conf

mysql hard nofile 65535
mysql soft nofile 65535

добавьте эту строку в /usr/lib/systemd/system/mysqld.service (в разделе [service])

LimitNOFILE=65535

затем, наконец, перезагрузитесь и убедитесь, что эти сообщения об ошибках исчезли из вашего журнала ошибок mysql.

ответил MNB 1 72015vEurope/Moscow11bEurope/MoscowSun, 01 Nov 2015 19:31:07 +0300 2015, 19:31:07
0

Это, похоже, некоторая ошибка в новом mysqld. У меня такая же проблема. Установка max_connections на 700 сработала, но если я установил ее на 900, она была сброшена до 214 во время запуска. Если бы это было целенаправленное изменение, то оно уменьшило бы его до 700 или что-то подобное, значение 214 не имеет смысла.
Во всяком случае, повышение предела дескриптора с помощью ulimit -n устраняет проблему.

ответил Bart K 14 Jpm1000000pmMon, 14 Jan 2013 22:18:07 +040013 2013, 22:18:07

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132