我在一台服务器上运行两个 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
答案1
您的 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
我想你应该已经明白了。