1,备份主库数据
2,配置主库
修改my.cnf文件,在[mysqld]加入下面的内容:
# 服务的唯一编号
server-id=1
# 开启mysql binlog功能
log-bin = mysql-bin
# 这个参数要加上,否则不会给更新的记录些到二进制文件里
log-slave-updates=1
# binlog记录内容的方式
binlog_format = mixed
# 减少记录日志的内容,只记录受影响的列
binlog_row_image = minimal
# 如果备份多个数据库,重复设置这个选项即可
binlog-do-db = xxxxxx
binlog-do-db = xxxxxx
保存配置,重启mysql,systemctl restart mysqld,检查刷掌是否正常
3,创建提供给从库,用于同步数据的账号(是主库的账号,ip是从库ip)
create user 'slave'@'从库ip' identified by 'xxxxxxxx';
grant replication slave on *.* to 'slave'@'从库ip';
flush privileges;
4,查看主库的状态
show master status\G; 记下主库状态信息中的File和Position,后面会用到
5,将主库数据复制到从库服务器,在从库导入主库数据
6,配置从库
修改my.cnf文件,在[mysqld]加入下面的内容:
# 服务的唯一编号
server-id = 2
# 开启mysql binlog功能
log-bin = mysql-bin
# 这个参数要加上,否则不会给更新的记录些到二进制文件里
# log-slave-updates=1
# binlog记录内容的方式
binlog_format = mixed
# 减少记录日志的内容,只记录受影响的列
binlog_row_image = minimal
# 如果备份多个数据库,重复设置这个选项即可
binlog-do-db = xxxxx
binlog-do-db = xxxxx
保存配置,重启mysql,systemctl restart mysqld
7,设置主服务器ip,同步账号密码,同步位置
change master to master_host='主库ip',
master_user='slave',
master_password='xxxxxx',
master_log_file='mysql-bin.000001',
master_log_pos=462671;