基于日志点
在主db服务器上建立复制账号
1,在主服务器添加授权账号,ip,密码:
CREATE USER 'repl' @ 'IP段' identified by 'password';
2,授权用户
GRANT REPLICATION SLAVE ON *.* TO 'repl' @ 'ip段';
配置主数据库服务器
mysql的配置文件 my.cnf
里
1.开启binlog日志 :bin_log =mysql-bin
2.配置:server_id = 100
配置 从服务器
1,开启binlog日志 :bin_log =mysql-bin
2.配置server_id = 101
3.配置开启中立日志:relay_log = mysql-relay-bin
log_slave_update = on 可选(如果要把这个服务器当成别的从服务器的主服务器就要开启)(链路复制)
read_onlu=on 可选 (建议开启,避免修改从服务器的数据)
初始化从服务器数据
mysqldump --master-data=2 -single-transaction
xtrabackup --slave-info 热备份inoodb表最好
首先备份下主数据库
使用scp
将数据拷贝到从库
然后初始从服务器数据库
找到 all.sql 里的日志名称和偏移量
然后在从服务器 配置复制链路
启动复制链路,查看状态
基于GTID
1,在主db服务器上建立复制账号和基于日之点的配置是一样的
2,配置主数据库服务器 my.cnf
1,开启binlog日志 :bin_log =/usr/local/mysql/log/mysql-bin
2.配置server_id = 100
3.启动 GTID : gtid_mode = on
4.enforce-gtid-consistency = on
5.log-slave-updates = on ;mysql5.7以上版本需要开启
3,配置从服务器my.cnf
1,开启binlog日志 :bin_log =/usr/local/mysql/log/mysql-bin
2.配置server_id = 101
3.启动 GTID : gtid_mode = on
4.配置开启中立日志:relay_log = /usr/local/mysql/log/relay_log
5.enforce-gtid-consistency = on
6.log-slave-updates = on ;mysql5.7以上版本需要开启
7.ad_onlu=on 建议配置
8.master_info_repository =TABLE 建议配置
9.relay_log_info_repositiory =TABLE 建议配置
4,备份主数据库
mysqldump --single-transaction --master-data=2 --triggers --routimes --all-databases -uroot -p > all.sql
5,从服务器配置开启复制链路
然后将 数据文件 复制到 从库去
然后将从库的数据恢复
在从服务器:启动复制链路
CHANGE MASTER TO
MASTER_HOST=‘master_host_ip’,
MASTER_USER=‘repl’,
MASTER_PASSWORD=‘password’,
MASTER_AUTO_POSITION = 1
启动复制链路,查看状态