如果之前已有备份线程,通过RESET SLAVE ALL命令重置状态
1,备份主库数据
2,配置主库
修改my.cnf文件,在[mysqld]加入下面的内容:
# 服务的唯一编号
server-id = 1
# 开启mysql binlog功能
log-bin = mysql-bin
# 这个参数要加上,否则不会给更新的记录些到二进制文件里
log-slave-updates = 1
# binlog记录内容的方式
binlog_format = mixed
保存配置,重启mysql,systemctl restart mysqld,检查刷掌是否正常
3,创建提供给从库,用于同步数据的账号(是主库的账号,ip是从库ip)
create user 'slave'@'10.0.0.1' identified by 'xxxxxx';
grant replication slave on *.* to 'slave'@'10.0.0.1';
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-do-db = gz_palm
binlog-do-db = gz_palm_business
保存配置,重启mysql,systemctl restart mysqld
7,设置主服务器ip,同步账号密码,同步位置
change master to master_host='10.0.0.2',
master_user='slave',
master_password='xxxxxxx',
master_log_file='mysql-bin.000002',
master_log_pos=1095156;
8,启动slave服务 slave start;
9,查询slave状态 show slave status\G