CentOS7上配置MySQL5.7主从备份

发布时间 2024-01-12 14:30:51作者: 博小群

CentOS7,MySQL5.7
两台机器,master为192.168.226.130,slave为192.168.226.131
配置主MySQL
首先,登录MySQL,创建一个同步账号,用于从服务器访问主服务器
create user 'repl'@'%' identified by '密码';
可能会遇到提示密码过于简单的问题,可以去上一篇文章看解决办法
授予该账号REPLICATION SLAVE权限
GRANT REPLICATION SLAVE ON . TO 'repl'@'%';
配置主从同步,要在主服务器开启二进制日志,也就是binlog,并配置要同步或不同步哪些数据库.这需要修改my.cnf配置文件
vim /etc/my.cnf
在其中依照实际情况添加或修改如下内容:

此参数表示启用binlog并指定日志文件路径

log_bin=master-bin

此参数指定二进制索引文件路径

log_bin_index=master-bin.index

配置服务器的唯一标识,和其他服务器的唯一标识必须不同,从服务器通过该标识找到主服务器

server-id=4

指定范围日期内的binlog日志,过期的日志会被清除

expire-logs-days=7

配置不记录binlog日志的数据库,没有binlog日志的数据库则不会被同步

binlog_ignore_db=mysql

配置记录binlog日志的数据库,有binlog日志的数据库会被同步

binlog_do_db=lidbjs0308

这些数据库都是mysql系统数据库

binlog_ignore_db=information_schema
binlog_ignore_db=performation_schema
binlog_ignore_db=sys
配置完成后,重启mysql服务
service mysqld restart
登录mysql,查看master状态
show master status

记录下File和Position这两个值,一会会用到
配置从MySQL
修改从数据库的my.cnf

服务器唯一标识

server-id = 2

启动中继日志服务并设置地址,中继日志就是存储主库过来的binlog日志

relay-log = slave-relay-bin

中继日志二进制文件索引地址

relay-log-index = slave-relay-bin.index
重启mysql服务,然后登陆从服务器的mysql,配置主服务器相关设置
change master to master_host='192.168.226.130', master_port=3306, master_user='repl',
master_password='密码', master_log_file='master-bin.000003', master_log_pos=154;
然后启动SLAVE
start slave;
查看主从状态
show slave status\G
ps:如果报错,参照一下方法
1、停止已经启动的绑定
stop slave;

2、重置绑定
reset master;