日期:2014-05-16  浏览次数:20694 次

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 ',