1、主从参数配置
server_id: 设置MySQL实例的server_id,每个server_id不能一样 gtid_mode=ON: MySQL实例开启GTID模式,不能用0和1 enforce_gtid_consitency=ON:使用GTID模式复制时,需要开启参数,用来保证数据的一致性。 log-bin: MySQL必须要开启binlog log-slave-updates=1:决定SLAVE从Master接收到更新且执行是否记录到SLAVE的binlog中 binlog_format=ROW: binlog格式为row skip-slave-start=1(可选): 当SLAVE数据库启动的时候,SLAVE不会启动复制
2、用户权限创建 mysql> create user 'rep'@'%' identified by '123'; Query OK, 0 rows affected (0.00 sec)
mysql> grant REPLICATION CLIENT,REPLICATION SLAVE on . to 'rep'@'%'; Query OK, 0 rows affected (0.01 sec)
mysql>
如果仅出于复制目的创建帐户,则该帐户仅需要 REPLICATION SLAVE特权
3、从库数据还原
主库-xtrabackup备份:
innobackupex --defaults-file=/etc/my.cnf --user=root --password=HDsqm@2020 /data/sqmbak01/
从库-xtrabackup恢复:
xtrabackup --prepare --target-dir=/tmp/dbbak/2020-07-11_02-10-44 因为备份的时间可以进行业务操作的 业务操作的内容都记录在一个文件里了 prepare就把备份过程中的事务都应用回去了,这样保证了数据的一致性