线上项目mysql、redis平滑迁移方案及步骤
1.清晰系统内网及公网可达,CVM配置
2.迁移完整数据,项目部署,测试网络环境.
redis:复制rdb文件
mysql:xtrabackup备份
3.确保项目正常运行,网络正常访问.
项目对外接口及账户中心访问可达.
4.初始化redis,mysql.
5.配置网络环境,同步mysql
1.主库创建同步账号,配置腾讯云mysql为从并可写.配置log-bin
2.主库xtrabackup备份,设置从库导入.获取同步点,启动从库(可写),校验状态.
6.配置网络环境,同步redis
1.配置腾讯云redis为从并可写,SLAVEOF同步.
7.更新配置上线,mysql、redis切断恢复主配置.
8.校验mysql、redis,测试接口
demo:步骤
1.mysql:xtrabackup备份
安装xtrabackup
yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL //安装依赖包
percona-xtrabackup-2.4.1.tar.gz 解压
备份:
innobackupex --defaults-file=/etc/my.cnf --host=127.0.0.1 --user=root --password=gzf /home/gzf/innobackup/
还原
systemctl stop mysqld
rm -rf /var/lib/mysql
innobackupex --defaults-file=/etc/my.cnf --host=127.0.0.1 --user=root --password=gzf --apply-log /home/gzf/innobackup/2017-07-26_14-58-58
innobackupex --defaults-file=/etc/my.cnf --host=127.0.0.1 --user=root --password=gzf --copy-back /home/gzf/innobackup/2017-07-26_14-58-58
chown -R mysql /var/lib/mysql
systemctl start mysqld
2.主从同步:
xtrabackup_info文件获取到binlog和pos位置
确保主从 log-bin= server-id配置;
主创建同步账号
GRANT REPLICATION SLAVE ON *.* to 'gzf'@'%' identified by 'gzf';
检查看binlog File 名与备份一致,禁止主重启
show master status;
从配置
change master to master_host='**********',master_user='gzf',MASTER_PORT=3306,master_password='gzf', master_log_file='gzflog-bin.000002',master_log_pos=1736;
start slave;
show slave status\G;
io和sql线程都能yes说明成功;
mysql只读判断:
mysql> flush tables with read lock;
mysql> set global read_only=1;
将salve库从只读状态变为读写状态,需要执行的命令是:
mysql> unlock tables;
mysql> set global read_only=0;
show global variables like "%read_only%"; //查看只读状态:
3.redis主从同步
从redis配置slave-read-only no
slaveof 127.0.0.1 6379
--断开
slave on one
线上项目mysql、redis平滑迁移方案及步骤的更多相关文章
- Redis数据迁移方案
场景 Redis实例A ---> Redis实例B,整库全量迁移 方案一: mac环境 brew install npm npm install redis-dump -g 针对RedisA: ...
- mysql 历史数据表迁移方案
当业务运行一段时间后,会出现有些表数据量很大,可能对系统性能产生不良的影响,常见的如订单表.登录log表等,这些数据很有时效性,比如我们一般很少去查上个月的订单,最多也就是报表统计会涉及到. 在我们的 ...
- mysql+redis
微博的系统架构,想用mysql+redis配合使用,具体操作步骤: 写入数据到Redis,,然后在写个运行cron的脚本,美妙读内存,并写入数据库即可. 使用注意: 1.MySQL使用需要注意的地方: ...
- MySQL 分库分表及其平滑扩容方案
转自:https://kefeng.wang/2018/07/22/mysql-sharding/ 众所周知,数据库很容易成为应用系统的瓶颈.单机数据库的资源和处理能力有限,在高并发的分布式系统中,可 ...
- 不同场景下 MySQL 的迁移方案
一 目录 一 目录 二 为什么要迁移 三 MySQL 迁移方案概览 四 MySQL 迁移实战 4.1 场景一 一主一从结构迁移从库 4.2 场景二 一主一从结构迁移指定库 4.3 场景三 一主一从结构 ...
- mysql迁移之巨大数据量快速迁移方案
mysql迁移之巨大数据量快速迁移方案-增量备份及恢复 --chenjianwen 一.前言: 当mysql库的大小达到几十个G或者上百G,迁移起来是一件非常费事的事情,业务中断,导出导入耗费大量的时 ...
- RDS经典网络平滑迁移到VPC的混访方案
专有网络VPC(Virtual Private Cloud)之间在逻辑上彻底隔离,可以使您在阿里云上构建出一个隔离的网络环境,其安全性及性能都高于经典网络,已成为云上用户首选的网络类型.为满足日益增多 ...
- mysql 5.7 迁移数据方案
从一台服务器迁移至其他服务器,如何选择最短的停服时间方案 方案一.凌晨3点的全备份+停服后一天的大概一天的增备 1. 拷贝前一天的全备份至新的服务器 rsync -auzrP /Data/dbbak/ ...
- 优秀后端架构师必会知识:史上最全MySQL大表优化方案总结
本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/1190000006158186 1.引言 MySQL作为开源技术的代表作之一,是 ...
随机推荐
- Bootstrap3 为何无法显示Glyphicons 图标
Bootstrap3 为何无法显示Glyphicons 图标 在CSS引入字体即可解决 @font-face { font-family: 'Glyphicons Halflings'; src: u ...
- FastDfs + Dht 搭建笔记
以下为搭建一套分布式文件集群系统,参考了很多资料,自己经过在服务器上搭建并且经过了测试.记录以方便以后使用查看. FastDfs + Dht 安装手册 一:概述 FastDFS是由淘宝的余庆先生所开发 ...
- arcengine 文件夹连接
Provides access to members that manages a GX catalog. Product Availability Available with ArcGIS Des ...
- struts2 动态工作流
话不多说,直接贴代码: public class TestAction { private String nextPage;//保存下一步内容的属性 public String destroy(){ ...
- 跟着9张思维导图学JavaScript
思维导图小tips 思维导图又叫心智图,是表达发射性思维的有效的图形思维工具 ,它简单却又极其有效,是一种革命性的思维工具.思维导图运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来 ...
- 【Mongodb教程 第四课 】MongoDB 创建集合
reateCollection() 方法 MongoDB db.createCollection(name, options) 是用来创建集合. 语法: 基本的 createCollection() ...
- #Virtual hosts #Include conf/extra/httpd-vhosts.conf 开启就不能启动apache
#Virtual hosts#Include conf/extra/httpd-vhosts.conf我只要把其中任何一个开启就是吧#去掉就启动不了apache.怎么回事error.log是这样的ht ...
- Jenkins系列之-—01 简介&新建任务
一.Jenkins 简介 Jenkins是一个可扩展的持续集成引擎. 主要用于: l 持续.自动地构建/测试软件项目.l 监控一些定时执行的任务. Jenkins拥有的特性包括: l 易于安装-只要把 ...
- Android——SlidingMenu学习总结
来源 SlidingMenu是github上比較火开源库.很强大,不但但是简单的设置实现两側滑动菜单,还能够设置菜单的阴影.渐变色.划动模式等. 下载地址:https://github.com/jfe ...
- ubuntu下打开eclipse·发现没有顶尖菜单项
在安装eclipse时,打开集成开发环境后没有菜单项. 网上些人说要写个shell脚步,感觉有点麻烦,其实就是少了一个环境变量 BUNTU_MENUPROXY. 在/etc/profile 里面新建这 ...