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) ...
随机推荐
- RocketMQ源码分析 broker启动,commitlog、consumequeue、indexfile、MappedFileQueue、MappedFile之间的关系以及位置说明
目录 1.MappedFile类属性说明 1.1.MappedFile类属性如下 1.2.MappedFile构造器说明 2.MappedFileQueue类说明 2.1.属性说明 2.2.Mappe ...
- Python之格式化unix时间戳
就瞎倒腾,格式化时间: 1 import time 2 3 unixTime = time.time() #定义unixTime以存储系统当前的unix时间戳 4 print(unixTime); # ...
- MVC 微信网页授权 获取 OpenId
最近开发微信公众平台,做下记录,以前也开发过,这次开发又给忘了,搞了半天,还是做个笔记为好. 注意框架为MVC 开发微信公众平台.场景为,在模板页中获取用户openid,想要进行验证的页面,集成模板页 ...
- 微信小程序--关于加快小程序开发的几个小建议
加快小程序开发的几个小建议 1.使用 app.json创建页面 按照我们平常的开发习惯,创建一个新的页面,一般都会先创建文件夹,再创建对应page的形式,创建完成后,app.json中会自动注册该 ...
- 加班申请单flowable中
/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source ...
- mysql免安装教程
1. 下载MySQL Community Server 5.6.13 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下,我的解压目录是: "D:\Prog ...
- 广告计价方式:CPM,CPC,CPA
转自知乎链接:https://www.zhihu.com/question/20416888/answer/15076251 1.CPM 收费最科学的办法是按照有多少人看到你的广告来收费.按访问人次收 ...
- [leetcode]725. Split Linked List in Parts链表分块
思路很简单 按时链表的题做起来很容易犯小错误,思维要缜密 还要多练习啊 做之前最好画算法框图 public ListNode[] splitListToParts(ListNode root, in ...
- Elastisearch在kibana下常用命令总结
1.获取所有数据 GET /_search 2.创建一个Document PUT /ecommerce/product/1 { "name" : "gaolujie ya ...
- Modbus仿真器 Modbus Poll 和Modbus Slave详细图文教程
Modbus Poll 是Witte Software公司开发的的Modbus主机仿真器,用于测试和调试Modbus从设备.软件支持ModbusRTU.ASCII.TCP/IP协议.支持多设备监控,可 ...