mysql异步备份的问题,MASTER_HOST可否指定多个?
mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现mysql数据库的热备份。
主库
#数据库的id这个应该默认是1就不用改动
server-id=1
#日志文件的名称,这里可以制定日志到别的目录 如果没有设置则默认主机名的一个日志名称
log-bin=mysql_binary_log
#记录日志的数据库
binlog-do-db=example
#然后重启mysql
c:\mysql\bin\mysql restart
#在master上增加一个同步的用户名
mysql> GRANT REPLICATION SLAVE ON *.* TO 'backup '@ '% ' IDENTIFIED BY '123456 ';
#如果mysql版本在4.0.2以前的版本请用
mysql> GRANT FILE ON *.* TO 'backup '@ '% ' IDENTIFIED BY '123456 ';
mysql> USE example;
#锁定要同步的test表,然后导出数据结构
mysql> FLUSH TABLES WITH READ LOCK;
#执行如下命令查看master的状态
mysql> SHOW MASTER STATUS;
#接下来备份要同步数据库(为导入slave作准备)
$ mysqldump example > example.sql
#已做好同步数据库结构导出后,解锁这个表
mysql> UNLOCK TABLES;
从库
mysql example < example.sql
#修改slave的my.ini
####################
log-bin=c:\mysql\logs\mysql_binary_log
server-id=2
#master的IP
master-host=192.168.1.156
#master上作为同步用的用户名
master-user=backup
#同步用户名的密码
master-password=123456
#设置同步的时间
master-connect-retry=60
#需要同步的数据库
replicate-do-db=example
####################
#重新启用mysql
c:\mysql\bin\mysql restart
#进入slave的mysql,对mysql进行操作
mysql> stop slave; #停止slave服务器
mysql> CHANGE MASTER TO
-> MASTER_HOST= '192.168.1.156 ',
-> MASTER_USER= 'backup ',
-> MASTER_PASSWORD= '123456 ',
-> MASTER_LOG_FILE= 'mysql_binary_log.00004 ',