文档章节

mysql不停服务迁移数据库,部分备份+主从同步

吾爱
 吾爱
发布于 2016/07/18 16:40
字数 758
阅读 718
收藏 12

方案

经过一番深思熟虑(google),最终决定了以下方案:

1.在新服务器上搭建mysql,并作为"从"服务器 2.使用innobackupex在不停止旧mysql服务的情况下顺利备份数据到从数据库 3.将从服务器提升为主服务器,旧项目代码的数据库连接方式改为远程连接新数据库 4.在新服务器上部署项目代码,域名解析到新服务器,在完全生效之前,旧服务器还需要承担一部分请求 5.观察旧服务器请求日志,当没有请求后彻底删除旧代码和旧数据库,完成整个迁移

主从搭建

主从搭建要注意的是数据库版本最好保持一致,至少保证大版本号一致,从数据库小版本号不要低于主数据库

主从搭建比较简单,大致分为以下步骤

1.修改主数据库my.cnf,设置server_id 2.修改从数据库my.cnf 设置server_id 3.修改从数据库my.cnf 设置replicate-do-db来指定你想要同步的数据库名称,多个写多行,若想同步所有,则不要设置这个参数 4.主数据库上创建同步帐号并授权,给从服务器用的 5.从数据库上配置slave 此时不要启动slave,等数据库备份过来再启动

具体步骤可以参考这篇文章: http://369369.blog.51cto.com/319630/790921/

不停服备份数据

通过innobackupex备份指定的数据库,将备份文件传到从数据库所在服务器,恢复数据。

备份过程参考这篇文章: http://blog.csdn.net/zhu19774279/article/details/49681767

启动从数据库的slave

start slave;

一条sql语句,简单!不要忘了查看状态 show slave status\G 前面的主从设置文章里有说明,这里就不啰嗦了

将从数据库提升为主数据库

#查看主库状态
show processlist;
Master has sent all binlog to slave; waiting for binlog to be updated
show master status \G

#从库停止 IO_THREAD 线程
stop slave IO_THREAD;
show processlist;
Slave has read all relay log; waiting for the slave I/O thread to update it
show slave status \G

#从库切换为主库
stop slave;
reset master;
reset slave all;
show master status \G

#激活帐户
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
GRANT REPLICATION SLAVE ON *.* TO 'slave_passport'@'10.10.16.51' IDENTIFIED BY 'slave_passport';
FLUSH PRIVILEGES;

#切换原有主库为从库
reset master;
reset slave all;

CHANGE MASTER TO
MASTER_HOST='10.10.16.24',
MASTER_USER='slave_passport',
MASTER_PASSWORD='slave_passport',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=804497686;

#检查主库
SHOW PROCESSLIST;
show master status \G

#启动从库
SHOW PROCESSLIST;
start slave;
show slave status \G

© 著作权归作者所有

共有 人打赏支持
吾爱
粉丝 142
博文 267
码字总数 90553
作品 0
后端工程师
私信 提问
生产环境主从数据同步不了?

生产环境主从数据同步不了? 经历过程: 一般我们常常在做主从复制的时候,可能是很少遇到到错误,那都是因为,你做主从基本用的是,本地虚拟机做,或者一些测试环境做。但是当我们把主从复制...

技术小疯子
01/26
0
0
MySQL主从介绍&准备工作&配置主&配置从&测试主从同步

17.1 MySQL主从介绍 MySQL主从的概念 • MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 • MySQL主从是...

影夜Linux
07/06
0
1
mysql不停库不锁表在线主从配置

mysql不停库不锁表在线主从配置: 说明: 10G以下的数据库:使用mysqldump导出数据和备份恢复比较合适,便捷。 100-500G数据库:使用Percona-Xtrabackup备份工具,在线热备,全量、增量、单表...

ZHENG-JY
09/04
0
0
不同场景下MySQL的迁移方案

一、为什么要迁移 MySQL 迁移是 DBA 日常维护中的一个工作。迁移,究其本义,无非是把实际存在的物体挪走,保证该物体的完整性以及延续性。就像柔软的沙滩上,两个天真无邪的小孩,把一堆沙子...

wiitht
2017/10/27
0
0
不同场景下MySQL的迁移方案

一、为什么要迁移 MySQL 迁移是 DBA 日常维护中的一个工作。迁移,究其本义,无非是把实际存在的物体挪走,保证该物体的完整性以及延续性。就像柔软的沙滩上,两个天真无邪的小孩,把一堆沙子...

wiitht
2017/10/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Supplier函数式接口

Supplier接口的不传入参数,返回一个值。真是一个无私奉献的接口,还没有default方法。 下面就想用一个接口试试,其实我本来用的是IntSupplier,但是发现在使用方法引用的时候,不好把Math....

woshixin
18分钟前
0
0
MyBaties一级缓存

一、一级缓存简介 在系统代码的运行中,我们可能会在一个数据库会话中,执行多次查询条件完全相同的Sql,鉴于日常应用的大部分场景都是读多写少,这重复的查询会带来一定的网络开销,同时sel...

嘴角轻扬30
25分钟前
0
0
jquery

语法 描述 实例 $("*") 选取所有元素 在线实例 $(this) 选取当前 HTML 元素 在线实例 $("p.intro") 选取 class 为 intro 的 <p> 元素 在线实例 $("p:first") 选取第一个 <p> 元素 在线实例 ...

mskk
31分钟前
1
0
微信红包设计方案

前言 微信红包一经推出,春节期间微信用户红包总发送量达80.8亿,红包峰值40.9w/秒,在如此量级下,系统设计存在各种变数,稍有闪失会功亏一篑。 红包系统 红包系统有三部分组成:信息流,业...

春哥大魔王的博客
41分钟前
1
0
微信开发-正式号的配置

1、设置相关 业务域名的设置(不设置的话,相关页面会显示防欺诈盗号信息提示) JS接口安全域名设置 网页授权域名设置 注意:以上三个设置中都有下载文件的提示,此文件内容一样,下载一个即可...

Code辉
46分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部