欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mysql双机热备

程序员文章站 2022-04-09 20:37:29
...

Mysql双机热备

 

1. 准备过程

准备2台服务器,且都已安装Mysql. ,且都创建backup_db数据库和backup_table表

A服务器(master 主服务器)  192.168.1.100     Mysql: 5.6.x

B服务器(slave 从服务器)    192.168.1.200     Mysql: 5.7.x

注意:主服务器的Mysql版本与从服务器的Mysql的版本相同或者小于,因为二进制日志文件的格式可能不同,所以从服务器的版本一定比主服务器的Mysql版本高.

可以使用  msyql  --version 查看相关版本。

 

2. 配置主服务器(master)

分配权限给从服务器登录账号

Mysql>GRANT  FILE  PRIVILEGES ON *.* TO  ‘username’@’slave _ip’  IDENTIFIED BY ‘pssword’ ;

Mysql>GRANT  REPLICATION  SLAVE,REPLICATION  PRIVILEGES ON *.* TO  ‘username’@’slave _ip’  IDENTIFIED BY ‘password’ ;

注: username 为 从服务器登录主服务器的账号名

          Password  为 账号密码

          Slave_ip  为 从服务器IP地址,或者 使用全局地址 %;

例如:

Mysql>GRANT  FILE  PRIVILEGES ON *.* TO  ‘back’@’192.168.1.200’  IDENTIFIED BY ‘backpass’ ;

或者

Mysql>GRANT  ALL  PRIVILEGES ON *.* TO  ‘back’@’192.168.1.200’  IDENTIFIED BY ‘backpass’ ;

配置主服务器Mysql配置文件(/etc/my.cnf)

log-bin= mysqlback    # 日志名

binlog-do-db=backup_db   #记录二进制日志的数据库

binlog-ignore-db=information_schema   #忽略记录的数据库

binlog-ignore-db=mysql               #同上

配置完成后重新启动mysql, (centos7启动命令  systemctl  restart mysqld.service)

 

 

3. 配置从服务器(slave)

修改Mysql配置文件

log-bin=mysqlback    #日志名

server_id= 2         # 服务器ID

binlog-ignore-db= information_schema,mysql    #忽略记录日志的数据库

replicate-do-db= backup_db            #同步的数据库

replicate-ignore-db=mysql             #不同步的数据库          

log-slave-updates                     

slave-skip-errors=all

slave-net-timeout=60

注 Mysql 5.5版本需要配置如下,5.5以上的跳过此设置

Master-host= ‘主服务器IP地址’

Master-user=’用户名’  #主服务器分配的

Master-password=’密码’ 

Master-port=3306   #默认端口,根据实际的修改


重新启动mysql服务,同主服务器方法

 

4. 查看主从服务器状态

 

主服务器状态(进入Mysql 命令行方式)

Mysql >show master  status;

Mysql双机热备

 注: file 和 Position 的值,配置从服务器时会用到。

 

从服务器状态(进入Mysql命令行方式)

以下操作适合Mysql 5.5版本以上的版本,5.5直接跳过此步

Mysql >stop slave;

Mysql > change master to master_host='192.168.1.100',master_user='back',master_password='backpass',master_log_file='mysqlback.000006',master_log_pos=675;

Mysql > start slave;

产看从服务器状态

Mysql >show slave status \G

Mysql双机热备

如果不成功,请看主服务器的FIEL和Position 是否和 此图的master_log_file和master_log_pos一致,

 

 接下来进行测试吧!

在主服务器的backup_table表中添加数据库,再产看从服务器的此表是否出现了新添加的数据。

 

祝大家成功!Mysql双机热备