MySql主从备份Slave

Mysql主从备份可以在除主服务器外的其他服务器是部署从库,用于实时备份生产环境数据,核心是mysql的log-bin日志(二进制日志),主库开启bin日志后,从库通过日志同步(Slave I/O)和回放(Slave SQL)实现数据同步.

因为设置主从备份时,需要指定主库lob-bin日志运行行数,所以之前的数据需要通过“数据同步”或者手动同步完成

修改配置文件

Linux: my.cnf

Windows: my.ini

修改主库mysql配置文件:

[mysqld]

…   (省略基础配置)

server-id=1(mysql-id 主库id一般小于从库)

log-bin=mysql-bin(开启二进制日志)

binlog-do-db=test (需要生成日志的数据库,此处使用的是test数据库)

修改从库mysql配置文件:

[mysqld]

…   (省略基础配置)

server-id=2(mysql-id 主库id一般小于从库 多个从库时id不能重复)

log-bin=mysql-bin(开启二进制日志)

replicate-do-db=test (需要主从备份的数据库,此处使用的是test数据库)

修改配置文件需要重启mysql服务生效

创建备份用户

因为安全策略问题,mysql的root用户一般会限制ip,如果从库服务器能使用root账户连接主库则无需创建用户

主库创建一个主从备份用户:

grant replication slave on *.* to 'userName'@'从库服务器ip' identified by 'passWord';

或者:

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

创建完成后刷新权限

flush privileges;
 
  

检查主库是否开启主从备份

在主库运行命令:

show master status;

出现如下图则开启成功(下图为Navicat 命令窗口截图):

MySql主从备份Slave_第1张图片

 

设置从库备份

在从库先运行停止备份命令:

stop slave;

运行主从备份配置命令:

Change master to master_host='127.0.0.1',master_port=3306,master_user='backUp',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=713;

参数说明:

master_host 主库服务器ip

master_port 主库端口

master_user 主库备份用户名

master_password主库备份用户密码

master_log_file主库bin-log日志名称(步骤三可查看)

master_log_pos主库现存sql数(步骤三可查看)

设置完成后,运行命令启动主从备份:

start slave;

使用命令查看从库备份状态:

show slave status;

如下图表示同步正常(下图为Navicat 命令窗口截图)

MySql主从备份Slave_第2张图片

 

同步异常时,会在下图处输出错误信息,请留心查看!!!(下图为Navicat 命令窗口截图)

MySql主从备份Slave_第3张图片

 

你可能感兴趣的:(mysql,数据库)