线上项目mysqlredis平滑迁移方案及步骤

Posted tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线上项目mysqlredis平滑迁移方案及步骤相关的知识,希望对你有一定的参考价值。

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

 

以上是关于线上项目mysqlredis平滑迁移方案及步骤的主要内容,如果未能解决你的问题,请参考以下文章

详解Apache Sentry->Ranger平滑升级方案

MySQL数据平滑迁移方案思考

Windows10环境下制作SpringBoot项目的Docker镜像以及与宿主机上MySQLRedis进行桥接通信

Dubbo项目线上案例解析

微信小程序转uniapp的迁移步骤及遇到的问题

机房平滑迁移方案与多机房多活架构设计