线上项目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作为开源技术的代表作之一,是 ...
随机推荐
- Ubuntu 16.04安装Guake Terminal终端(使用一键唤醒功能)
安装: sudo apt-get install guake-indicator sudo apt-get install guake 使用: 先启动guake-indicator,再启动guake. ...
- zerorpc使用时报错:No handlers could be found for logger "zerorpc.channel"
问题如题:安装方法参考 http://www.cnblogs.com/shengulong/p/7887586.html ,安装完后,使用时出现如题的错误 解决办法: 1.zerorpc本身依赖很多三 ...
- 【APUE】用户态与内核态的区别
当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态).此时处理器处于特权级最高的(0级)内核代码中 执行.当进程处于内核态时,执行的内核代码会使用当前进程 ...
- 【转】面向切面编程-AOP,挺有用的
原文:http://blog.csdn.net/yangzhihello/article/details/40377399 下面的代码有点问题, ins[methodName] = function( ...
- 机器学习技法总结(五)Adaptive Boosting, AdaBoost-Stump,决策树
上一讲主要利用不同模型计算出来的g.採用aggregation来实现更好的g.假设还没有做出来g.我们能够採用bootstrap的方法来做出一系列的"diversity"的data ...
- 【独立开发人员er Cocos2d-x实战 008】BMFont生成位图字体工具和Cocos2dx使用载入fnt文件
1.首先我们须要下载而且安装BMFont工具,下载地址例如以下:http://download.csdn.net/detail/chenqiai0/8899353(里面还有具体的使用文档,假设使用中有 ...
- onfocus事件,onblur事件;Focus()方法,Blur()方法
<1> <pre name="code" class="html"><!DOCTYPE html PUBLIC "-// ...
- Xpath—解决这个问题的良药
何为良药? 因为在XML中存在一些问题和缺陷,针对这些问题就产生了响应的解决方式.如: getElementById方法在解析XML时因为一些原因适不适合的: 首先XML中每一个元素节点不一定有id属 ...
- CSS多种方法实现分隔线
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8" /> <title&g ...
- jdbc 连 oracle 12c
jdbc 连 oracle 12c,除了连接串要书写正确(如果用PDB,可插拔数据库),必要的JDBC包也是不可或缺的. 比如我,机器本身装了个oracle 10g,然后上面有个java项目,使用jd ...