У меня есть два экземпляра 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
Думаю, вы поняли идею.