CloudCanal 2.1.0.x 版本开始支持 StarRocks 作为对端的数据迁移同步能力
10年积累的网站设计制作、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有安福免费网站建设让你可以放心的选择与我们合作。
本文通过 MySQL-StarRocks 的数据迁移同步案例简要介绍这个源端的能力。链路特点:
StarRocks 提供了多种导入方式。CloudCanal 采用了 StreamLoad 的方式进行导入,源端的消息会转成字节流,通过 HTTP 协议发往 StarRocks。
相比直接通过 SQL 写入的方式,StreamLoad 方式会有更好的性能,写入的数据直接经 FE 转发给 BE 处理。如果直接采用 SQL 写入,在 FE 侧,会有额外的 SQL 解析开销。
CloudCanal 提供了 StreamLoad 可配置的丰富参数,包括:
过快的写入会导致 StarRocks 来不及 compaction,从而产生异常。CloudCanal 提供了两个任务参数,支持在一批数据写入后自动停顿一段时间,避免这种问题。参数为:
CloudCanal 任务详情页,点击 参数修改 ,即可调整
StarRocks 作为实时数仓,采用 主键模型 或者 聚合模型 较多。CloudCanal默认采用 主键模型 ,能够实时同步源端的 INSERT / UPDATE / DELETE 。
基于 StreamLoad 的写入方式,实际写入对端的操作均为 INSERT。CloudCanal 同步时会自动将 UPDATE/DELETE 转成INSERT语句,并修改 __ops 值,StarRocks 会自动进行compaction。
StarRocks 不支持 \n 等特殊符号写入,CloudCanal 任务通过参数设置( enableEscape 参数) 开启自动转义。
对于高流量的场景,建议使用 4G 及以上的任务规格配置,并且对相关参数进行调优,调优建立在任务无 GC 问题、对端 StarRocks 没有 compaction 瓶颈的情况下。
本文简单介绍了如何使用 CloudCanal 进行MySQL到StarRocks 的数据迁移同步。各位读者朋友,如果你觉得还不错,请点赞、评论加转发吧。
默认任务参数配置下,如果导入数据过于频繁可能会任务异常,这时候可以调节上文提到的fullBatchWaitTimeMs和increBatchWaitTimeMs参数或者调整StarRocks的Server侧的合并策略。下图为StarRocks官方提供的常见问题FAQ
CloudCanal-免费好用的企业级数据同步工具,欢迎品鉴。
了解更多产品可以查看 官方网站 :
CloudCanal社区 :
1、使用软件Navicat就可迁移复制数据库,打开Navicat,右键点击左边空白的地方,点击New Connection下的MySQL,创建一个服务器的连接,下面将演示把本地的数据迁移到服务器:
2、在弹出的创建新连接的窗口里,输入服务器的IP,数据库账号,密码等,然后就可以连接数据库了:
3、创建好后们打开本地的数据库,点击“Data Transfer”(数据传输),接着弹出新的界面:
4、新窗口中在左边选择本地数据库的库,和需要转移的表,可以选择一个,或多个表:
5、然后在右边的目标里,选择服务器的连接,然后选择服务器上的数据库:
6、选择完成后,就开始进行数据转移了,数据量不是很大的,很快就会转移完成的。以上就是mysql中数据复制到另一个数据库的方法:
有两种办法。
1、在b机器上装mysql。
将a机器上的mysql/data下的你的数据库目录整个拷贝下来。
将b机器上的mysql服务停止。
找到b机器上的mysql/data目录,将你拷贝的目录粘贴进去,然后启动mysql服务就可以了。
2、使用sql语句备份和恢复
你可以使用select
into
outfile语句备份数据,并用load
data
infile语句恢复数据。这种方法只能导出数据的内容,不包括表的结构,如果表的结构文件损坏,你必须要先恢复原来的表的结构。
语法:
select
*
into
{outfile
¦
dumpfile}
’file_name’
from
tbl_name
load
data
[low_priority]
[local]
infile
’file_name.txt’
[replace
¦
ignore]
into
table
tbl_name
select
...
into
outfile
’file_name’
在dos命令提示符下使用mysqldump命令进行备份.
如下:
c:\documents
and
settings\administratormysqldump
yinshi
c:\\backup.txt
-uroot
-p12142022
MySQL数据库迁移
MySQL数据库迁移(数据文件直接迁移)
在今年10月下旬的时候,公司的服务器需要迁移,其中涉及到了MySQL数据库迁移。查看了一下MySQL数据文件的大小,接近60G的大小(实际数据并没用那么多)。由于服务器上业务需要,要尽量减少服务器迁移时的损失。所以迁移时间选在了晚上零点开始,而且要尽量减少迁移所用的时间。
在迁移之前有三种方案:
数据库直接导出,拷贝文件到新服务器,在新服务器上导入。
使用【MySQL
GUI
Tools】中的
MySQLMigrationTool。
数据文件和库表结构文件直接拷贝到新服务器,挂载到同样配置的MySQL服务下。
我在我的电脑上用虚拟机测试后,选中了占用时间最少的第三种方案。下面是三种方案的对比:
第一种方案的优点:会重建数据文件,减少数据文件的占用空间。
第一种方案的缺点:时间占用长。(导入导出都需要很长的时间,并且导出后的文件还要经过网络传输,也要占用一定的时间。)
第二种方案的优点:设置完成后传输无人值守
第二种方案的缺点:
设置繁琐。
传输中网络出现异常,不能及时的被发现,并且会一直停留在数据传输的状态不能被停止,如不仔细观察不会被发现异常。
传输相对其他fang时间长。
异常后很难从异常的位置继续传输。
第三种方案的优点:时间占用短,文件可断点传输。操作步骤少。(绝大部分时间都是在文件的网络传输)
第三种方案的缺点:可能引起未知问题,暂时未发现。
下面介绍一下第三种方案d迁移步骤:
保证Mysql版本一致,安装配置基本一致(注意:这里的数据文件和库表结构文件都指定在同一目录data下)
停止两边的Mysql服务(A服务器--迁移--B服务器)
删除B服务器Mysql的data目录下所有文件
拷贝A服务器Mysql的data目录下除了ib_logfile和.err之外的文件到B服务器data下
启动B服务器的Mysql服务,检测是否发生异常
迁移完成后,服务启动正常,未发现其他异常问题。
备注:经测试,源mysql的安装目录及数据文件目录
可以与
目标Mysql的安装目录及数据文件目录
不一致。
此时,只需要拷贝您所需移动的dbname(如上:pa、testdb)及'mysql'和'ibdata1',即可。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款