
Я использую внешний mysql-сервер для работы с akonadi. (используя KDE4). Теперь я мог бы решить все проблемы с ним, но мне все еще нужно применить некоторые настройки к файлу "mysql-global.conf" сервера. Вот что предлагается для примера:
# wait 365d before dropping the DB connection (default:8h)
wait_timeout=31536000
Поэтому я попытался изменить эту настройку через консоль mysql. Но она нигде не отражена в файле /etc/mysql/my.cnf.
(etc/akonadi/mysql-global.conf, похоже, тоже не оказывает никакого влияния на mysql-server!)
Мой вопрос: где разместить эти (или подобные) настройки, чтобы применить их таким образом, чтобы akonadi не разрывал соединение с внешним сервером (глобально, я полагаю?)?
решение1
Установка переменной в консоли MySQL не приведет к обновлению my.cnf
— она будет отражена только до тех пор, пока не завершится работа демона MySQL.
/etc/mysql/my.cnf
Но правильное место для этого — под заголовком [mysqld]
.
Он будет загружен после перезапуска, или же это можно сделать немедленно в консоли MySQL (похоже на то, что вы уже пробовали):
SET GLOBAL wait_timeout = 31536000;
Обновление в ответ на комментарий «не работает»:
Цитата из документации mysql.com [1]:
При запуске потока значение wait_timeout сеанса инициализируется из глобального значения wait_timeout или из глобального значения interactive_timeout в зависимости от типа клиента (как определено параметром подключения CLIENT_INTERACTIVE для mysql_real_connect()).
Так что изменение работает, но вы не можете увидеть результат в сеансе консоли mysql. Попробуйте изменить interactive_timeout для этого.
Чтобы увидеть, что изменения вступили в силу, используйте SHOW GLOBAL VARIABLES
вместо этого:
SHOW GLOBAL VARIABLES LIKE 'wait_timeout';
[1]http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_wait_timeout
решение2
1. Отредактируйте my.cnf (файл конфигурации MySQL).
Убунту 16.04
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
Дебиан
sudo vi /etc/mysql/my.cnf
Centos
sudo vi /etc/my.cnf
2. Найдите конфигурацию тайм-аута и настройте ее в соответствии с вашим сервером.
[mysqld] время_ожидания = 31536000 интерактивный_таймаут = 31536000
3. Сохраните изменения и выйдите из редактора.
4. Перезапустите MySQL, чтобы применить изменения следующим образом:
sudo /etc/init.d/mysql перезапустить