MySQL复制从库建立-mysqldump方式

2022-10-14,,,,

环境准备:

master:192.168.0.106:3306
slave:192.168.0.105:3306

主和从都必须配置有唯一的id(server_id:建议ip最后一组+mysql端口号,例如:1063306,1053306)

采用gtid模式复制,需要配置mysqld开启以下两个参数

1 gtid_mode=on
2 enforce-gtid-consistency=on

 

操作步骤:

1、在master创建用于复制的账号

1 mysql> create user 'repl'@'192.168.0.%' identified by 'repl';
2 mysql> grant replication slave on *.* to 'repl'@'192.168.0.%';

2、mysqldump备份master数据库

1 mysqldump -s /tmp/mysql3306.sock -p --master-data=2 --single-transaction -a |gzip >3306-`date +%f`.tar.gz

3、slave上还原master的备份

1 gunzip < 3306-2019-10-13.sql.gz | mysql -s /tmp/mysql3306.sock -p
提示:error 3546 (hy000) at line 26: @@global.gtid_purged cannot be changed: the added gtid set must not overlap with @@global.gtid_executed

   登录slave数据库,清除从站已有gtid_executed值,然后再执行还原

1 mysql> reset master;
2 mysql> exit;
3 gunzip < 3306-2019-10-13.sql.gz | mysql -s /tmp/mysql3306.sock -p

5、 登录slave数据库,执行主从配置连接命令

1 change master to
2   master_host='192.168.0.106',
3   master_user='repl',
4   master_password='repl',
5   master_port=3306,
6   master_auto_position=1;

master_host: master主机ip
master_user:master复制连接账号
master_password:master复制连接密码
master_port:master端口
master_auto_position:使用gtid模式

6、登录slave数据库,启动复制

1 start slave;

7、查看复制状态信息

1 show slave status\g

查看以下两个参数都为yes代表复制启动成功

slave_io_running: yes
slave_sql_running: yes

《MySQL复制从库建立-mysqldump方式.doc》

下载本文的Word格式文档,以方便收藏与打印。