Назад | Перейти на главную страницу

Сценарий MySQL init.d с другим файлом конфигурации

У меня есть два экземпляра mysql, запущенных на сервере. Мне нужны два разных скрипта init.d. У двух экземпляров разные файлы конфигурации /etc/my.cnf и /etc/my-slave.cnf. Я скопировал /etc/init.d/mysql файлы в /etc/init.d/mysql-slave и изменил conf параметр для /etc/my-slave.cnf но служба mysql-slave по-прежнему контролирует первый экземпляр mysql. В my-slave.cnf файл конфигурации выглядит следующим образом:

[mysqld]
user            = mysql
socket          = /var/run/mysqld/mysqld.ip.ip.ip.ip.sock
port            = 32866
datadir         = /var/lib/mysql.ip.ip.ip.ip
server-id=18861
master-host=ip.ip.ip.ip
master-connect-retry=60
master-user=repluser
master-password=*******
        replicate-do-db=spring_salast

[mysql.server]
basedir=/var/lib/mysql.ip.ip.ip.ip

Ваши экземпляры MySQL контролируются mysqladmin (из /etc/init.d/mysql-slave). Mysqladmin у него --defaults-file = ... где вы найдете параметр сокета (к какому экземпляру следует подключиться). Вам необходимо изменить параметр сокета как в mysql-slave.cnf, так и в файле по умолчанию.

socket = /var/run/mysqld/mysqld-slave.sock

Я не знаю, какой у вас дистрибутив, но если у вас нет файла по умолчанию, вы должны указать его. Файл по умолчанию Debian выглядит так

[client]
host     = localhost
user     = debian-sys-maint
password = xxxx
socket   = /var/run/mysqld/mysqld.sock

Думаю, вы поняли идею.