我在运行Debian 8.2的VirtualBox上测试两台虚拟机上的MySQL复制。 以下教程,这就是我设置奴隶的方式' / />>
server-id = 2
master-host = 192.168.56.101
master-connect-retry = 60
master-user = slave
master-password = 123
replicate-do-db = base1
replicate-do-db = base2
relay-log = /var/lib/mysql/slave-relay.log
relay-log-index = /var/lib/mysql/slave-relay-log.index
然而,这样做也不会让我启动mysql。当我运行 /etc/init.d/mysql start 时,它会失败。这些是日志中出现的两个错误:
error: Can't connect to local MySQL server through socket '/var/run/mysql/mysqld.sock' (2)
Failed to start LSB: Start and stop the mysql server database daemon
评论 master-zzz 行可以让mysql顺利启动。
虚拟机可以互相看到并ping而不会丢失。我尝试更改my.cnf的主用户和密码,以及在主服务器上创建不同的复制从属用户,但无济于事。我做错了什么?
答案 0 :(得分:1)
好吧,事实证明我所关注的教程有点过时了。这些是my.cnf文件的最终配置:
#master
bind-address = 0.0.0.0
server-id = 1
log-bin= /var/log/mysql/mysql-bin.log
#slave
server-id = 2
我没有设置奴隶的my.cnf,而是使用了mysql控制台:
CHANGE MASTER TO master_host='master_ip', master_user='slave', master_password='slavepass';
根据本手册的说明:https://downloads.mysql.com/docs/mysql-replication-excerpt-5.0-en.pdf