文档章节

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

吾爱
 吾爱
发布于 2016/07/18 16:40
字数 758
阅读 561
收藏 12
点赞 0
评论 0

方案

经过一番深思熟虑(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
博文 257
码字总数 89193
作品 0
后端工程师
生产环境主从数据同步不了?

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

技术小疯子 ⋅ 01/26 ⋅ 0

不同场景下MySQL的迁移方案

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

dongzhumao ⋅ 2015/09/21 ⋅ 0

mysql数据库同步

mysql数据库同步 1.1. Master 设置步骤 server-id = 1log_bin = /var/log/mysql/mysql-bin.logexpirelogsdays = 10maxbinlogsize = 100Mbinlogdodb = testbinlogignoredb = mysql bind-addre......

木雨山 ⋅ 2012/08/20 ⋅ 0

致DBA:为什么经常犯错?因为你落下了这些功课!

作者介绍 张秀云,网名飞鸿无痕,现任职于腾讯,负责腾讯金融数据库的运维和优化工作。2007年开始从事运维方面的工作,经历过网络管理员、Linux运维工程师、DBA、分布式存储运维等多个IT职位...

张秀云 ⋅ 2017/06/14 ⋅ 0

MySQL的主从同步

MySQL的主从同步是一个很成熟的架构,优点为: ①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力; ②在从主服务器进行备份,避免备份期间影响主服务器服务; ③当主服务...

为梦而来 ⋅ 2014/04/25 ⋅ 0

记一次Ucloud云数据库主从创建

数据库迁移---主从关系建立 A机房和D机房数据库建立主从 A机房数据库作为主数据库,在D机房重新创建高可用数据库作为从数据库 配置文件使用:D机房,mysql5_5 北京二可用区D mysql-5.5 Mysql...

疯子的梦 ⋅ 2017/05/31 ⋅ 0

MySQL 数据备份与同步

前段时间使用MySQL作为数据存储做了一个小项目。项目上线运行了几十天之后,数据已经越来越多,达到了100多M。用mysqldump每天备份全量数据然后传输到另外一台机器上这种方式进行数据备份,久...

costaxu ⋅ 2012/10/13 ⋅ 0

阿里云数据库 MySQL 5.7 单机版发布,看看适合你吗?

众所周知,阿里云数据库RDS(包括MySQL或SQL Server)不便宜,总听到有人说:不如买一台ECS服务器自建MySQL!价格便宜多了! 1.jpg 首先,我不是这么认为的:原因有: RDS是高可用的,包括一...

小宙 ⋅ 2017/12/07 ⋅ 0

mysql 主备XtraBackup恢复

> MySQL主从同步原理MySQL主从同步是在MySQL主从复制(Master-Slave Replication)基础上实现的,通过设置在Master MySQL上的binlog(使其处于打开状态),Slave MySQL上通过一个I/O线程从Maste...

我不是瘦子 ⋅ 01/02 ⋅ 0

MariaDB(MySQL):主从复制

一、数据复制目的 数据分布:实现不同的地方维护数据拷贝,比如各个数据中心之间。 负载均衡:将读取分布在不同服务器上,针对读取密集型的程序效果很好。 备份:复制对于备份很有帮助,比如...

hoo_5 ⋅ 2014/05/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java Web如何操作Cookie的添加修改和删除

创建Cookie对象 Cookie cookie = new Cookie("id", "1"); 修改Cookie值 cookie.setValue("2"); 设置Cookie有效期和删除Cookie cookie.setMaxAge(24*60*60); // Cookie有效时间 co......

二营长意大利炮 ⋅ 今天 ⋅ 0

【每天一个JQuery特效】淡入淡出显示或隐藏窗口

我是JQuery新手爱好者,有时间就练练代码,防止手生,争取每天一个JQuery练习,在这个博客记录下学习的笔记。 本特效主要采用fadeIn()和fadeOut()方法显示淡入淡出的显示效果显示或隐藏元...

Rhymo-Wu ⋅ 今天 ⋅ 0

Spring JDBC使用方法

普通实现: 1、创建数据表customer。 可以使用任何数据库实现,在项目中要引入相应数据库驱动包并配置相应数据库连接。 2、创建Customer pojo。 Customer类的属性对应数据库的属性,除了为每...

霍淇滨 ⋅ 今天 ⋅ 0

Contos 7 安装Jenkins

Jenkins是一款能提高效率的软件,它能帮你把软件开发过程形成工作流,典型的工作流包括以下几个步骤 开发 提交 编译 测试 发布 有了Jenkins的帮助,在这5步中,除了第1步,后续的4步都是自动...

欧虞山 ⋅ 今天 ⋅ 0

revel

revel install go get github.com/revel/revelgo get github.com/revel/cmd create new app revel new git.oschina.net/zdglf/myapp run app revel run git.oschina.net/zdglf/myapp ot......

zdglf ⋅ 今天 ⋅ 0

49. Group Anagrams - LeetCode

Question 49. Group Anagrams Solution 思路:维护一个map,key是输入数组中的字符串(根据字符排好序) Java实现: public List<List<String>> groupAnagrams(String[] strs) { Map<Strin......

yysue ⋅ 今天 ⋅ 0

spring Email

使用spring发Email其实就是使用spring自己封装携带的一个javamail.JavaMailSenderImpl类而已。这个类可以当一个普通的java对象来使用,也可以通过把它配置变成spring Bean的方式然后注入使用...

BobwithB ⋅ 今天 ⋅ 0

spark 整理的一些知识

Spark 知识点 请描述spark RDD原理与特征? RDD全称是resilient distributed dataset(具有弹性的分布式数据集)。一个RDD仅仅是一个分布式的元素集合。在Spark中,所有工作都表示为创建新的...

tuoleisi77 ⋅ 今天 ⋅ 0

思考

时间一天天过感觉自己有在成长吗?最怕的是时光匆匆而过,自己没有收获!下面总结下最近自己的思考。 认识自己 认识另一个自己,人们常说要虚心听取别人意见和建议。然而人往往是很难做到的,...

hello_hp ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部