Jump to content
新域网络技术论坛

Mysql 5.6双机热备


Jamers
 Share

Recommended Posts

数据库双机热备,当使用两台服务器均衡时可能需要用到,数据库单独存放在一台服务器或虚拟机上可能会突然无法访问,本文仅作测试,如果能够直接使用专门的服务器或虚拟机做数据库时也可以,毕竟mysql挂的情况还是很少的。过程仅供参考,FREEBSD 10.2/Mysql 5.6.26.

 

先保证两个库都相同,然后进行下列设置

 

ee /usr/local/my.cnf

server-id=78   #ID唯一
log_bin=mysql-bin  #改成你需要的名称,要和下面的命令一致
binlog-do-db=test  #需要同步的数据库

两个服务器都这么操作,并重新启动mysql

service mysql-server restart

 

新增slave权限帐号,不建议使用root

grant replication slave on *.* to 'slave'@'%' identified by 'password';  

执行同步命令:

change master to   
master_host='192.168.1.77',  
master_user='slave',  
master_password='password',  
master_log_file='mysql-bin.000001',  
master_log_pos=319; 

代码说明:

  master_host:主服务器的IP地址 
  master_user:主服务器设置的备份用户
  master_password:主服务器备份用户密码
  master_log_file:主服务器的日志名称
  master_log_pos:主服务器的位置

启动slave:

start slave;

然后在一个表里执行某操作,看另一数据库是否有同样的修改,测试成功就PASS。这里还有个注意的问题。

我当时测试时直接克隆的虚拟机,导致两个mysql的ID是完全一样的,需要修改/var/db/mysql/auto.cnf

把ID随便修改一位保存后重启mysql即可,否则会报错:

Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

如果仅需要主从备份的话,可以将备用服务器往主服务器备份的设置关掉。

 

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...