Как обновить конфигурационный файл MySQL без перезагрузки?
У Apache есть такая возможность, как насчет MySQL?
Есть ли один?
Ответы
Ответ 1
Ты был так близок! Метод kill -HUP
тоже не работал у меня.
Вы звонили:
select @@global.max_connections;
Все, что вам нужно было установить вместо select:
set @@global.max_connections = 400;
См:
http://www.netadmintools.com/art573.html
http://www.electrictoolbox.com/update-max-connections-mysql/
Ответ 2
Try:
sudo /etc/init.d/mysql reload
или
sudo /etc/init.d/mysql force-reload
Это должно инициировать перезагрузку конфигурации. Убедитесь, что ваш init.d script поддерживает его, хотя я не знаю, какую версию MySQL/OS вы используете?
My MySQL script содержит следующее:
'reload'|'force-reload')
log_daemon_msg "Reloading MySQL database server" "mysqld"
$MYADMIN reload
log_end_msg 0
;;
Ответ 3
Конкретные действия, которые вы можете выполнить с помощью SQL-клиента, и вам не нужно ничего перезапускать:
SET GLOBAL log = 'ON';
FLUSH LOGS;
Ответ 4
Перезагрузка файла конфигурации (my.cnf
) не может быть выполнена без перезапуска сервера mysqld
.
FLUSH LOGS
вращает только несколько файлов журнала.
SET @@...=...
устанавливает его для тех, кто еще не вошел в систему, но он исчезнет после следующего перезапуска. Но это дает подсказку... Сделайте SET
и измените my.cnf
; таким образом, вы покрыты. Предостережение: не все настройки могут быть выполнены через SET
.
Новое с MySQL 8.0...
SET PERSIST...
установит глобальные настройки и сохранит их после перезагрузки. Почти все настройки можно настроить таким образом.