登录  /  注册

MySQL之—如何添加新数据库到MySQL主从复制列表的具体介绍

黄舟
发布: 2017-03-09 11:33:37
原创
1804人浏览过

mysql之—如何添加新数据库到mysql主从复制列表的具体介绍

MySQL主从复制一般情况下我们会设置需要同步的数据库,使用参数配置选项,binlog-do-db,可以在master上指定需要同步的数据库,replicate-do-db在从数据看上指定需要同步的数据库。(一般只设定master上的binlog-do-db即可,不需要两个同时设定。以防万一,在slave也可以加上replicate-ignore-db)。

今天,我遇到的问题是,在master上面新增了一个数据库,这个时候如何把新加的这个数据库添加到MySQL的主从复制链里?(即不重新复制整个库的情况下,重新设置主从复制)。

首先,我们列举一下主从复制的基本步骤,(MySQL主从首先需要在各自服务器配置好)。

1. 复制数据库

mysqldump --master-data --single-transaction -R --databases [db_name] | gzip -9 - | pv > all-db-with-master-data.sql.gz
登录后复制

注意:innodb用 –single-transaction, myisam需要用 –lock-all-tables。

2. 复制,导入数据

pv < all-db-with-master-data.sql.gz | zcat | mysql
登录后复制

3. 启动slave数据库。

slave start
登录后复制

注意:切换到主的语句已经在导出的sql语句里面了,注意查看。change master to master_log_file=’(binlog name in relay_master_log_file)’, master_log_pos=(exec_master_log_pos number)。
那么,在现有的主从复制结构中,如何增加一个新的数据库进去?比如我们要增加一个数据库在master服务器上,比如,名为newdb的数据库。具体操作如下:

1. 从服务上,停掉slave数据库。

stop slave;
登录后复制

2. 主服务器上,导出新数据库。

mysqldump --master-data --single-transaction -R --databases newdb > newdb.sql
登录后复制

3. 修改主服务器my.cnf文件

主服务器上,修改my.cnf文件,添加新库到binlog-do-db参数,重启mysql。

4. 查找当前的日志文件以及位置

在导出的newdb.sql里面查找当前的日志文件以及位置(change master to …)
然后让slave服务器执行到这个位置。

start slave until MASTER_LOG_FILE="mysql-bin.000001", MASTER_LOG_POS=1222220;
登录后复制

其中MASTER_LOG_FILE以及MASTER_LOG_POS在导出的数据库newdb.sql顶部位置查找。

5. 导入新库到从服务器上。

mysql < newdb.sql
登录后复制

6. 启动从服务器

start slave
登录后复制

其中比较重要的是在主服务器上导出新库时的日志位置(position A),这个点很重要,以这个点做为分界线,导入新库。
这种方法也同样适用于某个数据库或者某个数据表不同步的情况,比如主从数据库有一个表由于某些原因数据不一致,那么上面的方法只需要去掉重启数据库一步,其他的操作基本都是相同的

以上就是MySQL之—如何添加新数据库到MySQL主从复制列表的具体介绍的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号