Потребности в такой установке могут быть весьма различны, а вот этапы настройки вполне одинаковые.
Будем использовать mysqld_multi - программа для управления множеством серверов MySQL.
Для понимания процесса читаем доки.
http://dev.mysql.com/doc/refman/5.0/en/mysqld-multi.html
http://mysql.ru/docs/man/mysqld_multi.html
Создаем каталог для multi mysql, к примеру /var/lib/mysql_multi/
и в нем подкаталоги 01,02...nn
Выставим нужные права на них и собственника.
chmod 755 /var/lib/mysql_multi -R
chown mysql:mysql /var/lib/mysql_multi -R
Создадим в my.cnf нужные разделы (см. ссылки выше) со своими путями к файлам
[mysqld_multi]
mysqld = /usr/local/bin/mysqld_safe
mysqladmin = /usr/local/bin/mysqladmin
user = multi_admin
password = multipass
к примеру для экземпляра #2
[mysqld2]
socket = /var/run/mysqld/mysqld2.sock
port = 3312
pid-file = /var/run/mysqld/mysqld2.pid
datadir = /var/lib/mysql_multi/02
language = /usr/share/mysql/english
user = mysql
** Перед запуском сервера mysql необходимо создать структуру в целевом каталоге:
mysql_install_db --user=mysql --datadir=/var/lib/mysql_multi/02
** Запуск нужного экземпляра сервера:
mysqld_multi start 2
** проверитм подключение:
mysql --socket=/var/run/mysqld/mysqld2.sock
или
mysql --host=127.0.0.1 --port=3312
НЕ ИСПОЛЬЗУЙТЕ "localhost" вместо "127.0.0.1"! Иначе вместо подключения к нужному порту будет задействован сокет по умолчанию. А это будет совсем не тот экземпляр сервера, который вы хотели.
** установим пароль рута:
mysqladmin --socket=/var/run/mysqld/mysqld2.sock -u root password 'new-password'
или
mysqladmin --host=127.0.0.1 --port=3312 -u root password 'new-password'
Так же создадим пользователя mulit_admin и права для выключения сервера mysql для всех экземпляров сервера:
GRANT SHUTDOWN ON *.* TO 'multi_admin'@'localhost' IDENTIFIED BY 'multipass';
к примеру так:
echo "GRANT SHUTDOWN ON *.* TO 'multi_admin'@'localhost' IDENTIFIED BY 'multipass';" | mysql --host=127.0.0.1 --port=3312 -u root -p'password'
ну и соответственно в разделе my.cnf [mysqld_multi] надо внести те же значения
user = multi_admin
password = multipass
Собственно, пока все. Т.е. теперь запустить экземпляры сервера mysql можно командой
mysqld_multi start 2,4,5
остановить аналогично
mysqld_multi stop 2,4,5
Подписаться на:
Комментарии к сообщению (Atom)
chkconfig --add mysqld_multi
ОтветитьУдалитьпишет не такого файл или процесса. в /etc/rc.d/init.d там действительно нет этого файла.
как то победить это можно?
Этот файл в Debian лежит в /usr/bin/mysqld_multi
ОтветитьУдалитьВ init.d его нет, это что-то вроде служебной программы mysql