rbd-db数据迁移至外部数据库
部署外部数据库
- 安装Docker
export VERSION=19.03 && curl -fsSL http://rainbond-pkg.oss-cn-shanghai.aliyuncs.com/releases/docker/install-docker.sh | bash -s docker
systemctl start docker
- 运行数据库
mkdir -p /opt/rainbond/rbd-db/data/ && docker run --name rbd-db --restart=always -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD="yes" -v /opt/rainbond/rbd-db/data:/var/lib/mysql -i registry.cn-hangzhou.aliyuncs.com/goodrain/rbd-db:8.0.19
数据库部署过程仅供参考,可根据自身需求选择数据库部署方式。
相关要求
外部数据库版本要求:MySQL5.7/8.0
。
Rainbond数据库需要一些特殊配置,配置文件参考如下
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 服务端默认utf8编码
character-set-server=utf8mb4
# 默认存储引擎
default-storage-engine=INNODB
# Compatible with versions before 8.0
default_authentication_plugin=mysql_native_password
skip-host-cache
skip-name-resolve
[client]
#设置客户端编码
default-character-set=utf8mb4
[mysql]
# 设置mysql客户端默认编码
default-character-set=utf8mb4
迁移数据
注意:数据备份之后请勿在平台上继续进行操作,以免造成数据不一致
- 获取原来的数据库密码
kubectl exec -it -n rbd-system rbd-db-0 -- env|grep MYSQL_ROOT_PASSWORD
- 替换变量
MYSQL_ROOT_PASSWORD
后,备份数据库并确认数据是否完整(含有console及region两个库)
kubectl exec -it rbd-db-0 -n rbd-system -- mysqldump -p$MYSQL_ROOT_PASSWORD --all-databases > all.sql
- 在新的数据库中导入数据
示例命令
mysql -uroot -p数据库密码 < all.sql
修改数据库连接地址
数据导入后,修改Rainbond组件连接数据库主机的IP即可。
- rbd-app-ui
kubectl edit -n rbd-system deploy rbd-app-ui
spec:
containers:
- env:
- name: MYSQL_HOST
value: 172.24.206.76
- rbd-api
kubectl edit -n rbd-system deploy rbd-api
spec:
containers:
- args:
- --mysql=root:31771251@tcp(172.24.206.76:3306)/region
- rbd-chaos
kubectl edit -n rbd-system ds rbd-chaos
containers:
- args:
- --hostIP=$(POD_IP)
- --mysql=root:31771251@tcp(172.24.206.76:3306)/region
- rbd-worker
kubectl edit -n rbd-system deploy rbd-worker
spec:
containers:
- args:
- --mysql=root:31771251@tcp(172.24.206.76:3306)/region
- rbd-eventlog
kubectl edit -n rbd-system sts rbd-eventlog
spec:
containers:
- args:
- --db.url=root:31771251@tcp(172.24.206.76:3306)/region
验证
1.查看Rainbond组件是否处于Running状态
$ kubectl get pod -n rbd-system
NAME READY STATUS RESTARTS AGE
dashboard-metrics-scraper-754cdcbbb6-pckfj 1/1 Running 1 28h
kubernetes-dashboard-57b897f8df-8hkrv 1/1 Running 1 28h
nfs-provisioner-0 1/1 Running 1 28h
rainbond-operator-0 2/2 Running 2 28h
rbd-api-564f456468-4w9xj 1/1 Running 1 28h
rbd-app-ui-64c7c55995-svg56 1/1 Running 1 28h
rbd-app-ui-migrations-k5jwd 0/1 Completed 0 28h
rbd-chaos-htwr2 1/1 Running 1 28h
rbd-db-0 2/2 Running 2 28h
rbd-etcd-0 1/1 Running 1 28h
rbd-eventlog-0 1/1 Running 1 28h
rbd-gateway-sz7wf 1/1 Running 1 28h
rbd-hub-85b7b94846-kbffc 1/1 Running 1 28h
rbd-monitor-0 1/1 Running 1 28h
rbd-mq-989c5549c-8p8n4 1/1 Running 1 28h
rbd-node-5c887 1/1 Running 1 23h
rbd-node-bndzh 1/1 Running 1 28h
rbd-node-s2mnc 1/1 Running 1 22h
rbd-repo-0 1/1 Running 1 28h
rbd-webcli-84969b7fc5-zm7tw 1/1 Running 1 28h
rbd-worker-78b6dc8fc4-rxd7p 1/1 Running 1 28h
2.登录平台查看应用数量,组件数量是否和迁移前一致
数据迁移完毕删除rbd-db服务,到此完成数据迁移
kubectl delete rbdcomponents.rainbond.io rbd-db -n rbd-system
rbd-db数据迁移至外部数据库的更多相关文章
- 如何将MongoDB数据库的数据迁移到MySQL数据库中
FAQ v2.0终于上线了,断断续续忙了有2个多月.这个项目是我实践的第一个全栈的项目,从需求(后期有产品经理介入)到架构,再到设计(有征询设计师的意见).构建(前端.后台.数据库.服务器部署),也是 ...
- mysql 客户无感知迁移_亿级账户数据迁移,不用数据库工具还能怎么搞?
原标题:亿级账户数据迁移,不用数据库工具还能怎么搞? 背景 在阿里巴巴内部"大中台,小前台"的组织和业务体制,使前线业务更加敏捷,赋能业务积极迎接未来挑战和机遇,在阿里大中台能力建 ...
- EF架构~CodeFirst数据迁移与防数据库删除
回到目录 本文介绍两个概念,防数据库自动删除,这是由于在code first模式下,当数据实体发生变化时,会对原来数据库进行删除,并将新数据表添加进来,但这对于我们的运营环境数据库,是万万不能接受的, ...
- EF CodeFirst数据迁移与防数据库删除
1 开启migrations功能 enable-migrations -force 2 添加迁移版本 add-migration 名称后缀 我们每次修改实体后,都应该使用这个add-migration ...
- 将MySQL一张表的数据迁移到MongoDB数据库的Java代码示例
Java代码: package com.zifeiy.snowflake.handle.etl.mongodb; import java.sql.Connection; import java.sql ...
- Oracle中的数据迁移到Mysql数据库中的方式Navicat premium工具
1.安装 Navicat premium工具 2.破解 Navicat premium工具 3.连接需要相互迁移的两个库Mysql和Oracle(可以是远程的或者本机的数据库都是可以的) 4.连接上之 ...
- redis 练习 a的数据库数据迁移到b数据库
思路 1.从a redis中获取所有的key 2.判断key的类型 3.根据key的类型,判断使用的是set/hset类型 4.set到b redis中(写入到b redis中)
- 创建app子应用,配置数据库,编写模型,进行数据迁移
文章目录 web开发django模型 1.创建app子应用 2.配置子应用 3.使用 4.配置子应用管理自已的路由 django数据库开发思维与ORM 1.创建数据库 2.配置数据库 3.安装pymy ...
- Mongodb到mysql数据库的数据迁移(Java,Windows)
运行环境为windows 测试过260万的数据表,迁移大概要10分钟左右,当然肯定和网络,字段大小什么的有关系. 遇到的坑和注意点都用紫色标记了(对,就是我大乃团的高冷紫--Nogizaka 46) ...
随机推荐
- 免杀shellcode并绕过杀毒添加自启动
https://www.wtfsec.org/posts/%E5%85%8D%E6%9D%80shellcode%E5%B9%B6%E7%BB%95%E8%BF%87%E6%9D%80%E6%AF%9 ...
- bugku 之 crypto:进制转换的python脚本
题目如下: text.txt的内容: 知识点:python怎么做进制转换 除了自己按照计算方法写一遍进制转换,可以用python自带的强制转换: int(a,num) 其中,int是转换成十进制整数类 ...
- python多元回归于调用excel文件
import xlrd from numpy.linalg import inv import numpy as np data = xlrd.open_workbook(u'C:\\Users\\x ...
- NET 调用人脸识别算法
以前有个OpenCV 移植版EMCV可以用作图像识别等 https://github.com/emgucv/emgucv 现在有各种接口 比如虹软SDK https://ai.arcsoft.com ...
- PIX
[开启]后,如图: [新建]:如图中设定: Program: 你要准备监测的应用程序路径 [点击]:Start Experiment 如图,会出现一个新窗口(你运行的应用程序窗口) [点击F12](确 ...
- JavaI/O编程---File文件操作
File类的基本使用 构造方法: public File (String pathname) public File(FIle parent,String child) 创建文件: public bo ...
- R绘图(1): 在散点图边缘加上直方图/密度图/箱型图
当我们在绘制散点图的时候,可能会遇到点特别多的情况,这时点与点之间过度重合,影响我们对图的认知.为了更好地反映特征,我们可以加上点的密度信息,比如在原来散点所在的位置将密度用热图的形式呈现出来,再比如 ...
- hashmap的简易实现,基本实现PUT GET
p.p1 { margin: 0; font: 12px Menlo; color: rgba(79, 118, 203, 1) } /*简易版的HASHMAP包括基本的GET PUT思想 * 从数 ...
- Java并发包源码学习系列:AbstractQueuedSynchronizer
目录 本篇学习目标 AQS概述 AbstractOwnableSynchronizer 同步队列与Node节点 同步状态state 重要方法分析 独占式获取与释放同步状态 共享式获取与释放同步状态 A ...
- windows7 错误0xc00000ba;无法进入系统;
事件背景:电脑windows7 错误0xc00000ba无法进系统:无法进入安全模式:无法进入最后一次正确配置: 事件处理:提示系统文件丢失,注册表异常:知乎有人提及更换WS2_32.DLL; 使用P ...