读书人

mysql异步备份的有关问题MASTER_HOS

发布时间: 2012-02-14 19:19:19 作者: rapoo

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 ',
-> MASTER_LOG_POS=98;


#开启slave服务器就可以同步了
mysql> START SLAVE;



问题是:MASTER_HOST= '192.168.1.156 ' ,这个地方可不可以在slave服务器上指定多个MASTER_HOST 呢?

[解决办法]
主主方式的repllication现在还不是很成熟。

读书人网 >Mysql

热点推荐