转到内容


照片

Mysql 5.6双机热备

mysql FREEBSD 热备

  • 请先登录再回复
这个主题当前没有回复

#1 Jamers

Jamers

    管理员

  • 论坛管理员
  • 228 帖子
  • 呼号:BI4TSQ

发表于 2015-09-22 10:13

数据库双机热备,当使用两台服务器均衡时可能需要用到,数据库单独存放在一台服务器或虚拟机上可能会突然无法访问,本文仅作测试,如果能够直接使用专门的服务器或虚拟机做数据库时也可以,毕竟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.

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

 







同时将以下关键词作为标签:mysql, FREEBSD, 热备

0 用户正在浏览这个主题

0 会员,0 游客,0 隐身会员