mysql主从

参考 https://zhuanlan.zhihu.com/p/161972158

给主库上锁 备份的时候数据库是不能读写的 所以这个可以不执行
FLUSH TABLES WITH READ LOCK;

解锁
UNLOCK TABLES;

查看主库当日日志位置
SHOW MASTER STATUS;

备份数据
mysqldump -uroot -pSrmfan.f33 -A --master-data=2 --single-transaction -R -E --triggers --max_allowed_packet=64M | gzip > /opt/all.sql.gz

mysqldump -uroot -pSrmfan.f33 -A --master-data=2 --single-transaction -R -E --triggers --max_allowed_packet=64M >/data/full.sql

导入数据到从库
解压数据:gzip -d all.sql.gz
导入数据到从库:
mysql -uroot -pSrmfan.f33 < all.sql

如果出现
ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty.
执行 reset master;

主库刷新授权表
flush privileges;

(三)、查看主库正在使用binlog日志与position号
show master status;
(四)、告知从库复制的信息
help change master to

CHANGE MASTER TO
MASTER_HOST=‘10.0.0.51’, #主库IP地址
MASTER_USER=‘repl’, #主从复制用户
MASTER_PASSWORD=‘123’, #主从复制用户密码
MASTER_PORT=3307, #主库端口信息
MASTER_LOG_FILE=‘mysql-bin.000001’, #从库读取binlog文件信息
MASTER_LOG_POS=444, #从库读取Position号信息
MASTER_CONNECT_RETRY=10; #从库连接不到主库重试的间隔(10秒)
启动复制线程

CHANGE MASTER TO
MASTER_HOST=‘10.0.0.51’,
MASTER_USER=‘repl’,
MASTER_PASSWORD=‘123’,
MASTER_PORT=3307,
MASTER_LOG_FILE=‘mysql-bin.000001’,
MASTER_LOG_POS=444,
MASTER_CONNECT_RETRY=10;

start slave;
查看复制状态

show slave status\G;
Slave_IO_Running: Yes

Slave_SQL_Running: Yes

你可能感兴趣的:(mysql,数据库)