我正在尝试配置 MySQL 服务器来运行守护程序的多个实例(我希望将其复制到不同的驱动器上)。我一直在尝试使用 mysqld_multi 脚本。但是该脚本未找到 中的组/etc/mysql/my.cnf
。
我将配置复制并粘贴到msqld_multi --example
my.cnf 中,这发现了组罚款。但是,当我尝试修改以下文件时,mysqld_multi report
仅显示:
Reporting MySQL servers
No groups to be reported (check your GNRs)
以下是我的 my.cnf 文件的缩写。
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld1] #this is for the master server
pid-file =/var/run/mysqld/mysqld.pid
socket =/var/run/mysqld/mysqld.sock
port =3306
datadir=/var/lib/mysql
server-id=1
log-bin=mysql-bin
[mysqld2] #for the slave!
pid-file =/var/run/mysqld-slave/mysqld-slave.pid
socket =/var/run/mysqld-slave/mysqld-slave.sock
port =3307
datadir =/var/lib/mysql-backup
server-id=2
skip-innodb
default-storage-engine =myisam
[mysqld_multi]
user = mysql
[mysqld]
basedir = /usr
tmpdir = /tmp
...
这是来自mysqld_multi --example
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = multi_admin
password = my_password
[mysqld2]
socket = /tmp/mysql.sock2
port = 3307
...
谁能发现为什么 mysqld_multi 不解析这个?
答案1
我发现了问题所在。 mysqld_multi根本无法解析注释,所以你只需要从my.cnf中删除所有前面带有#的注释行。