Обходной путь — изменить /etc/mysql/my.cnf и добавить следующую строку: переменная множества = max_connections=500
Или добавить параметр max_connections=500 к команде запуска Нужно изменить максимальное количество соединений, а затем перезапустить mysql. По умолчанию количество подключений — 100, что слишком мало, поэтому легко получить ту же ошибку. Вот инструкции к mysql.com сайту: Если при попытке подключиться к серверу mysqld появляется ошибка «Слишком много подключений», это означает, что все доступные соединения используются другими клиентами.
Количество разрешенных соединений контролируется переменной max_connections системы. Её стандартное значение — 100. Если нужно поддерживать больше соединений, стоит перезапустить mysqld с увеличением значения для этой переменной.
MySQL фактически позволяет max_connections+1 клиентам подключаться. Дополнительное соединение зарезервировано для использования аккаунтами с привилегией SUPER. Предоставляя право SUPER администраторам, а не обычным пользователям (которым оно не должно быть нужно), администратор может подключиться к серверу и использовать SHOW PROCESSLIST для диагностики проблем, даже если Максимальное количество непривилегированных клиентов подключено. См. раздел 13.5.4.19, «ПОКАЗАТЬ СИНТАКСИС СПИСКА процессов».
Максимальное количество соединений, которые может поддерживать MySQL, зависит от качества библиотеки потоков на конкретной платформе. Linux или Solaris должны поддерживать 500-1000 одновременных подключений, в зависимости от объёма оперативной памяти и того, что делают ваши клиенты. Статические Linux-бинарные файлы, предоставляемые MySQL AB, могут поддерживать до 4000 подключений.
1. Возможно, проблема в настройках Max Connections в MySQL 2. Это может быть несколько вставок, и операция обновления не закрывает сессию, а поддержку транзакций нужно настроить весной. Разрешение: 1. Изменить время тайм-аута сессии в tomcat до 20 (не обязательно) 2. Обеспечить поддержку транзакций для большого объема обработки операций вставки или обновления базы данных.
=======================================
Вот решение:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Слишком много связей"
Причина: Потому что ваш каталог установки MySQLmy.iniКоличество параллельных соединений, установленных в системе, слишком мало или она занята, из-за чего количество соединений заполняется Решение: Откройте каталог установки MYSQL и откройте MY.INI найдите max_connections (примерно на строке 93), по умолчанию 100. Обычно уместнее установить 500~1000, перезапустить mysql, чтобы ошибка 1040 была решена.
max_connections=1000
Обязательно перезапустите MYSQL, чтобы он сработал
CMD->
Net Stop MySQL
Net Start MySQL
Что касается проблемы с невозможностью запустить MySQL после смены innodb_log_file_size
innodb_buffer_pool_size=768 млн innodb_log_file_size=256М innodb_log_buffer_size=8 млн innodb_additional_mem_pool_size=4M innodb_flush_log_at_trx_commit=0 innodb_thread_concurrency=20 Приведённое выше — предварительная оптимизация движка INODB: было обнаружено проблема при обновлении innodb_log_file_size=256M, при добавлении этого система не могла запуститься.
Позже я узнал, что сначала нужно ОСТАНОВИТЬ сервис, а затем удалить исходный файл......... Откройте /MySQL Server 5.5/data
Удалить ib_logfile0, ib_logfile1........ ib_logfilen Затем откройте эту опцию и успешно запустите её.
|