1、基于主库搭建从库的步骤
- 在主库上运行mysqldump导出逻辑转储文件:
mysqldump --flush-logs --master-data=2 --single-transaction --hex-blob -R -f --all-databases > databases.sql
对以上命令,说明如下:文章来源地址https://www.toymoban.com/news/detail-424730.html
- master-data=2:master-data为2会生成被注释掉的CHANGE MASTER TO语句,存储在转储文件里,我们可以利用这个信息来创建从库。master-data的默认值是1,会生成自动执行的语句,由于我们一般不希望自动执行,所以我们将该值设置为2。
- single-transaction参数表示制作一个一致性的备份集,对于InnoDB,只是在一开始的瞬间会请求锁表,然后仍然可以读写数据,对系统的影响很小,这点对于在线备份很重要。如果不加single-transaction参数,那么它在自动启用–lock-all-tables备份的过程中会锁表。
- 部署好从库实例,此时数据为空。
- 在从库上导入逻辑转储文件。
- 配置主从复制:根据转储文件(SQL文件)的CHAGE MASTER语句提供的信息,可以生成相应的CHANGE MASTER命令,并在从库中执行。
2、总结
- 当希望基于主库制作从库时,思路是将主库导出带CHANGE MASTER TO语句的逻辑备份,在新从库通过逻辑备份恢复数据,再通过备份SQL里的CHANGE MASTER TO语句启动复制。
- 实际步骤为,通过mysqldump导出主库的逻辑备份,并且通过master-data=2参数获得CHANGE MASTER TO语句,这个语句就自带了当时的主库二进制日志名称和位置,直接在从库上执行就可以开始复制。
文章来源:https://www.toymoban.com/news/detail-424730.html
到了这里,关于MySQL运维30-基于主库搭建从库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!