具有不同配置文件的 MySQL init.d 脚本

具有不同配置文件的 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

答案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

我想你应该已经明白了。

相关内容