CentOS6.4 mysql5.7 双机热备份

前端之家收集整理的这篇文章主要介绍了CentOS6.4 mysql5.7 双机热备份前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

主机1:192.168.17.129

主机2:192.168.17.130


分别在二台主机上安装 MysqL 5.7.16


切换到主机1:

创建热备用户

MysqL -uroot -p123456

MysqL> create user backup identified by '123456';

MysqL> grant all on *.* to backup;

MysqL> create database test default character set utf8 collate utf8_general_ci;


关闭 MysqL 服务 service MysqLd stop;

编辑 my.cnf

vi /etc/my.cnf


server_id=1 --#设置服务器id,为1表示主服务器

log_bin=MysqL-bin --#启动MySQ二进制日志系统

binlog_format=row --#日志类型 row,mixed

expire_logs_days = 7 --//binlog过期清理时间

binlog-do-db=test --#需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行

binlog-ignore-db=MysqL --#不同步MysqL系统数据库


重启 MysqL

MysqL -uroot -p123456

MysqL> show master status; -- 查看主服务器

+----------------------+-----------+------------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+----------------------+-----------+-------------------+------------------+

| MysqL-bin.000013 | 1150 | test | MysqL |

+-----------------------+----------+------------------+------------------+

1 row in set (0.00 sec)

结果表示现在写日志的文件MysqL-bin.000013,位置是1105,slave端要从这个点开始同步备份test



切换到主机2:

vi /etc/my.cnf #编辑配置文件,在[MysqLd]部分添加下面内容
server_id=2 #配置文件中已经有一行server_id=1,修改其值为2,表示为从数据库
log_bin=MysqL-bin #启动MySQ二进制日志系统

binlog_format=row #日志类型 row,mixed

replicate-do-db=test #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
replicate-ignore-db=MysqL #不同步MysqL系统数据库

service MysqLd restart #重启MySQ

注意:MysqL 5.1.7版本之后,已经不支持把master配置属性写入my.cnf配置文件中了,只需要把同步的数据库和要忽略的数据库写入即可。
MysqL -u root -p #进入MysqL控制台
stop slave; #停止slave同步进程

change master to master_host='192.168.17.130',master_user='backup',master_password='123456',master_log_file='MysqL-bin.000013',master_log_pos=1150; #执行同步语句
start slave; #开启slave同步进程
SHOW SLAVE STATUS \G; #查看slave同步信息


注意查看:
Slave_IO_Running: Yes
Slave_sql_Running: Yes
以上这两个参数的值为Yes,即说明配置成功!


参阅:http://www.cnblogs.com/sanduzxcvbnm/p/6022149.html

主机直接宕机

1> 在备机上执行STOP SLAVE 和 RESET MASTER

2> 查看show slave status \G;

3> 然后修改应用的连接地址。


正常切换:

1)从服务器检查SHOW PROCESSLIST语句的输出,直到你看到Has read all relaylogwaiting for the slave I/O thread to update it

2)确保从服务器已经处理了日志中的所有语句。

mysql> STOP SLAVE IO_THREAD当从服务器都执行完这些,它们可以被重新配置为一个新的设置。

3)在被提升为主服务器的从服务器上,发出 STOP SLAVE和RESET MASTER和RESET SLAVE操作。

4)然后重启MysqL服务。

5)在备用服务器(新的主服务器)

创建用户

create user backup01 identified by '123456'; -- 不能与主服务上MysqL用户同名

grant all on *.* to backup01;

6) 在主服务器上RESET MASTER。然后CHANGE MASTER TOMASTER_HOST='192.168.17.129',MASTER_USER='backup01',MASTER_PASSWORD='123456',master_log_file='master-bin.000015',master_log_pos=1105;

7)查看状态 show slave status \G;

Show master status \G;

如果还不行再次重启主库,并在备库上执行CHANGE MASTER TOMASTER_HOST='192.168.17.129',MASTER_USER='backup',master_log_file='',master_log_pos=1105;

猜你在找的CentOS相关文章