不影响主库业务情况下构建主从复制步骤
非gtid模式下
更改主库my.cnf
server-id=1binlog-format =mixed
log-bin=mysql-bin
datadir=/var/lib/mysql
innodb_flush_log_at_trx_commit=1sync_binlog=1
主库授权账号复制权限
GRANT REPLICATION SLAVE ON *.* TO replicant@% IDENTIFIED BY '<>'
使用binlog位置创建备份文件。它会影响数据库服务器的性能,但不会锁定表:
mysqldump --skip-lock-tables --single-transaction --flush-logs --hex-blob --master-data=2 -A > ~/dump.sql
检查文件的头部并记下MASTER_LOG_FILE和MASTER_LOG_POS的值
head dump.sql -n80 | grep "MASTER_LOG_POS"
修改从库my.cnf
server-id = 101binlog-format =mixed
log_bin= mysql-bin
relay-log = mysql-relay-bin
log-slave-updates = 1read-only = 1
重启mysql
导入sql文件
mysql -u root -p < ~/dump.sql
从库设置主库信息:
CHANGE MASTE