Использование в KDE-4 внешнего mysql сервера
Сегодня немного технической информации для любителей линукса. Раскажу об одном финте, который я использовал в интернет клубе для экономии памяти на рабочих станциях под управлением Gentoo Linux + KDE4.
В четвертых кедах чтоб исключить дублирование сохраненной информации активно используется сервер Akonadi, который в свою очередь запускает сервер базы данных mysql. Даже если пользователю никуда не впилась записная книжка и информация о почтовых аккаунтах, сервер mysql все равно висит в памяти и пожирает ее. У меня в зале стоит чуть менее сотни компьютеров, каждый из которых запускает свой mysql. Особенно неприятно, что этот mysql особенно не используется и пользователям совершенно не нужен.
Я решил, что было бы логичным запустить mysql на отдельной машине, а всех клиентов натравить на этот сервер через сеть. Особенно это актуально в моем зале с бездисковыми станциями. Работы для этого финта нужно сделать самый минимум.
Устанавливаю mysql:
emerge mysql
Провожу стандартные предварительные настройки сервера такие как задание пароля рута и привязка сервера к приватному IP, редактируя файл my.cnf.
Подключаемся mysql клиентом
% mysql -u root -p
Cоздаем новую базу данных
>create database akonadi;
Награждаеи всеми правами пользователя akonadi
grant all privileges on akonadi.* to 'akonadi'@'host' identified by 'password';
Убеждаемся mysql клиентом, что нас пускает под свежесозданым аккаунтом с клиентского хоста. После этого на клиенте редактируем файл в директории пользователя, под которым работают рабочие станции ~/.config/akonadi/akonadiserverrc:
Его содержимое должно стать таким (с вашими адресами и реквизитами):
[%General]
Driver=QMYSQL
[QMYSQL]
StartServer=false
ServerPath=
Name=akonadi
Host=mysqlserverhost
User=akonadi
Password=mysqlpassword
Options=
[Debug]
Tracer=null
Таким образом, после запуска кед Akonadi сервер не будет запускать свой mysql сервер, а подключится к mysqlserverhost и сам создаст необходимые таблицы. Теперь можно проверить если аконади корректно подключился к удаленной базе данных, набрав в mysql клиенте запросы:
>USE akonadi;
>SHOW TABLES;
Вы должны увидеть список из нескольких таблиц. Если таблицы не создались, то разбирайтесь с правами на доступ к базе и корректностью akonadiserverrc.
Комментарии
А просто вырубить Akonadi и
А просто вырубить Akonadi и все зависимости не вариант?
Akonadi / mysql
Его отключает строка конфига
StartServer=false
Но если какой то виджет или программа стартует аконади, то тут же автоматом стартуется и mysql. Пока не выяснил что у меня требует аконади при старте системы. Проще было отключить mysql базы.