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) ...
随机推荐
- mysqldump 导出命令
在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看: mysqldump 最常用的: mysqldump -uroot -pmysql databasefo ...
- java IO 模型--快速分清 同步|阻塞
IO 介绍 IO 模型 IO请求 分为两个阶段:等待资源 和 使用资源: IO请求:一般需要请求特殊资源(如 磁盘.RAM 或文件),当资源被上一个使用者使用没有释放的时候, IO请求会被阻塞,直到资 ...
- 修改mysql和MariaDB密码
一.修改mysql密码 UPDATE user SET password=PASSWORD('new_password') WHERE user='root'; 二.修改MariaDB密码 alter ...
- react项目中登陆注册验证码的倒计时,页面刷新不会重置
目前很多的网站和app在做登陆注册时都会用到手机验证码,为了防止验证码轰炸,也就是随意的点击验证码,一般我们需要对获取验证码进行一些限制,最常用到的是在规定时间内不得重复发送. 实现倒计时很简单,可以 ...
- HADOOP单机版配置
1.需要软件 jdk hadoop 将jdk和hadoop解压到自己想要存放的路径 这里我解压到/usr/目录下 sudo tar -zxvf java1.8.tar.gz -C /usr/ hado ...
- 技术选型关于redis客户端选择
redis作为分布式缓存框架的首选 相信已经毋庸置疑.能高效.合理的使用好它 必定能提升系统的可用性,高性能.高吞吐量的保障.但选择一个客户端,充分发挥它的能力,就是一个选型问题.现在市场上能选择 ...
- Above the Median
http://www.forioi.com/p/3212 农夫约翰把他的N(1<=N<=1e5)奶牛排在一排来衡量他们的高度,牛i有:高度H_I(1<=H_I<=1e9)纳米– ...
- 如何创建 mapbox 精灵图
前面文章介绍了如何在本地发布OSM数据,并使用 maputnik 自定义 mapbox 格式的地图样式. 在使用 maputnik 配图时,如果想要使用自己的图片作为地图符号,就需要制作精灵图. ma ...
- 杭电OJ2005---第几天?(c++)
Problem Description 给定一个日期,输出这个日期是该年的第几天. Input 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外 ...
- 强大生产力工具Alfred
今天要给大家介绍的工具是Alfred,一款Mac下的高效生产力产品.它能做什么呢?简单的说就是:让你能够通过打几个字,就可以完成原本需要一顿操作的事情.举一个简单的栗子:如果我们要在Google搜索一 ...