专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

MySQL数据库使用pgchameleon迁移至openGa

  pgchameleon介绍
  pgchameleon是一个用Python3编写的实时复制工具,经过内部适配,目前支持MySQL迁移到openGauss。工具使用mysqlreplication库从MySQL中提取rowimages,这些rowimages将以jsonb格式被存储到openGauss中。在openGauss中会执行一个plpgsql函数,解码jsonb并将更改重演到openGauss。同时,工具通过一次初始化配置,使用只读模式,将MySQL的全量数据拉取到openGauss,使得该工具提供了初始全量数据的复制以及后续增量数据的实时在线复制功能。pgchameleon的特色包括:通过读取MySQL的binlog,提供实时在线复制的功能。支持从多个MySQLschema读取数据,并将其恢复到目标openGauss数据库中。源schema和目标schema可以使用不同的名称。通过守护进程实现实时复制,包含两个子进程,一个负责读取MySQL侧的日志,一个负责在openGauss侧重演变更。
  使用pgchameleon将MySQL数据库迁移至openGauss,通过pgchameleon的实时复制能力,可以大大降低系统切换数据库时的停服时间。
  pgchameleon在openGauss上的使用注意事项pgchameleon依赖psycopg2,psycopg2内部通过pgconfig检查PostgreSQL版本号,限制低版本PostgreSQL使用该驱动。而openGauss的pgconfig返回的是openGauss的版本号(当前是openGauss2。0。0),会导致该驱动报版本错误,PsycopgrequiresPostgreSQLclientlibrary(libpq)9。1。解决方案为通过源码编译使用psycopg2,并去掉源码头文件psycopgpsycopg。h中的相关限制。pgchameleon通过设置LOCKTIMEOUTGUC参数限制在PostgreSQL中的等锁的超时时间。openGauss不支持该参数(openGauss支持类似的GUC参数lockwaittimeout,但是需要管理员权限设置)。需要将pgchameleon源码中的相关设置去掉。pgchameleon用到了upsert语法,用来指定发生违反约束时的替换动作。openGauss支持的upsert功能语法与PostgreSQL的语法不同。openGauss的语法是ONDUPLICATEKEYUPDATE{columnname{expressionDEFAULT}}〔,。。。〕。PostgreSQL的语法是ONCONFLICT〔conflicttarget〕DOUPDATESET{columnname{expressionDEFAULT}}。两者在功能和语法上略有差异。需要修改pgchameleon源码中相关的upsert语句。pgchameleon用到了CREATESCHEMAIFNOTEXISTS、CREATEINDEXIFNOTEXISTS语法。openGauss不支持SCHEMA和INDEX的IFNOTEXISTS选项。需要修改成先判断SCHEMA和INDEX是否存在,然后再创建的逻辑。openGauss对于数组的范围选择,使用的是columnname〔start,end〕的方式。而PostgreSQL使用的是columnname〔start:end〕的方式。需要修改pgchameleon源码中关于数组的范围选择方式。pgchameleon使用了继承表(INHERITS)功能,而当前openGauss不支持继承表。需要改写使用到继承表的SQL语句和表。
  接下来我们将演示如何使用pgchameleon迁移MySQL数据库至openGauss。
  配置pgchameleon
  pgchameleon通过。pgchameleonconfiguration下的配置文件configexample。yaml定义迁移过程中的各项配置。整个配置文件大约分成四个部分,分别是全局设置、类型重载、目标数据库连接设置、源数据库设置。全局设置主要定义log文件路径、log等级等。
  类型重载让用户可以自定义类型转换规则,允许用户覆盖已有的默认转换规则。目标数据库连接设置用于配置连接至openGauss的连接参数。源数据库设置定义连接至MySQL的连接参数以及其他复制过程中的可配置项目。
  详细的配置项解读,可查看官网的说明:
  https:pgchameleon。orgdocumentsv2configurationfile。html
  下面是一份配置文件示例:
  globalsettings
  piddir:。pgchameleonpid
  logdir:。pgchameleonlogs
  logdest:file
  loglevel:info
  logdayskeep:10
  rollbarkey:
  rollbarenv:
  typeoverrideallowstheusertooverridethedefaulttypeconversion
  intoadifferentone。
  typeoverride:
  tinyint(1):
  overrideto:boolean
  overridetables:
  postgresdestinationconnection
  pgconn:
  host:1。1。1。1
  port:5432
  user:opengausstest
  password:password123
  database:opengaussdatabase
  charset:utf8
  sources:
  mysql:
  dbconn:
  host:1。1。1。1
  port:3306
  user:mysqltest
  password:password123
  charset:utf8
  connecttimeout:10
  schemamappings:
  mysqldatabase:schmysqldatabase
  limittables:
  skiptables:
  grantselectto:
  usrmigration
  locktimeout:120s
  myserverid:1
  replicabatchsize:10000
  replaymaxrows:10000
  batchretention:1day
  copymaxmemory:300M
  copymode:file
  outdir:tmp
  sleeploop:1
  onerrorreplay:continue
  onerrorread:continue
  automaintenance:disabled
  gtidenable:false
  type:mysql
  keepexistingschema:No
  以上配置文件的含义是,迁移数据时,MySQL侧使用的用户名密码分别是mysqltest和password123。MySQL服务器的IP和port分别是1。1。1。1和3306,待迁移的数据库是mysqldatabase。
  openGauss侧使用的用户名密码分别是opengausstest和password123。openGauss服务器的IP和port分别是1。1。1。1和5432,目标数据库是opengaussdatabase,同时会在opengaussdatabase下创建schmysqldatabaseschema,迁移的表都将位于该schema下。
  需要注意的是,这里使用的用户需要有远程连接MySQL和openGauss的权限,以及对对应数据库的读写权限。同时对于openGauss,运行pgchameleon所在的机器需要在openGauss的远程访问白名单中。对于MySQL,用户还需要有RELOAD、REPLICATIONCLIENT、REPLICATIONSLAVE的权限。
  下面开始介绍整个迁移的步骤。
  创建用户及database
  在openGauss侧创建迁移时需要用到的用户以及database。
  在MySQL侧创建迁移时需要用到的用户并赋予相关权限。
  开启MySQL的复制功能
  修改MySQL的配置文件,一般是etcmy。cnf或者是etcmy。cnf。d文件夹下的cnf配置文件。在〔mysqld〕配置块下修改如下配置(若没有mysqld配置块,新增即可):
  〔mysqld〕
  binlogformatROW
  logbinmysqlbin
  serverid1
  binlogrowimageFULL
  expirelogsdays10
  修改完毕后需要重启MySQL使配置生效。
  运行pgchameleon进行数据迁移
  1。创建python虚拟环境并激活
  python3mvenvvenv
  sourcevenvbinactivate
  2。下载安装psycopg2和pgchameleon
  更新pip:pipinstallpipupgrade
  将openGauss的pgconfig工具所在文件夹加入到PATH环境变量中。例如:
  exportPATH{openGaussserver}destbin:PATH
  下载psycopg2源码(https:github。compsycopgpsycopg2),去掉检查PostgreSQL版本的限制,使用pythonsetup。pyinstall编译安装。
  下载pgchameleon源码(https:github。comthe4thdoctorpgchameleon),修改前面提到的在openGauss上的问题,使用pythonsetup。pyinstall编译安装。
  3。创建pgchameleon配置文件目录
  chameleonsetconfigurationfiles
  4。修改pgchameleon配置文件
  cd。pgchameleonconfiguration
  cpconfigexample。ymldefault。yml
  根据实际情况修改default。yml文件中的内容。重点修改pgconn和mysql中的连接配置信息,用户信息,数据库信息,schema映射关系。前面已给出一份配置文件示例供参考。
  5。初始化复制流
  chameleoncreatereplicaschemaconfigdefault
  chameleonaddsourceconfigdefaultsourcemysql
  此步骤将在openGauss侧创建用于复制过程的辅助schema和表。
  6。复制基础数据
  chameleoninitreplicaconfigdefaultsourcemysql
  做完此步骤后,将把MySQL当前的全量数据复制到openGauss。
  可以在openGauss侧查看全量数据复制后的情况。
  7。开启在线实时复制
  chameleonstartreplicaconfigdefaultsourcemysql
  开启实时复制后,在MySQL侧插入一条数据:
  在openGauss侧查看testdecimal表的数据:
  可以看到新插入的数据在openGauss侧成功被复制过来了。
  8。停止在线复制
  chameleonstopreplicaconfigdefaultsourcemysql
  chameleondetachreplicaconfigdefaultsourcemysql
  chameleondropreplicaschemaconfigdefault
  更多内容请参考:
  https:docs。opengauss。orgzhdocs3。1。0docsBriefTutorialBriefTutorial。html

焦糖色的4种搭配方式,时髦又温暖嗨,各位小仙女们,大家好呀!在这个寒意十足的冬天,谁又能拒绝一杯暖暖的咖啡呢?同样的,视觉上能带来温暖感的色彩,也是深受众人追捧的。在冬季,你的穿搭中,一般选择最多的色彩是什么呢?今冬半裙又火了!这2类裙型,凭什么讲究女人最爱穿?文洛薇Hi,我是洛薇,继续我们的时尚穿搭之旅,变美永远不迷路。冬天的半裙,怎么穿才讲究?今天,它是主角。厚重与轻盈,一直都是冬日穿搭的调和重头戏。如何在层叠臃肿之间,劈开一方飘逸大男士网购冬装怎么搜?教你几个关键词,轻松买到喜欢的衣服寒冬来袭,你家衣柜里的冬装够穿了吗?今天就和大家聊聊男士网购冬装关键词,保暖有型轻松拿捏。01hr毛衣想要柔软弹性好搜纯棉化纤羊毛混纺,有预算且想要保暖性好的就搜羊毛羊绒。款式上可为什么古代男子也要留长长的指甲?现代时尚女性都喜欢留着长长的指甲,做格式美甲花样,精致又好看其实,说起美甲达人,还数中国古代女性,尤其清宫的那些皇后与嫔妃们,都非常喜欢蓄长指甲,还会戴上镶满宝石长长尖尖的指甲套。月光下的收成詹丽我出生在傍晚,满天晚霞,我人世间第一次啼哭时,月亮已经升上来了。那是一个夏日的满月,农历十五。于是,我一辈子宿命般地喜欢上夜晚和月亮。新月,如小女孩儿皎洁的容颜,明澈的眼眸,晶左也小青,右也小青,小草青青令我情不自禁左小青的美,和气质,都很特别!淡雅,却又不乏傲气!这个一个靠美丽走红,而靠智慧成功的女人。嫁人要嫁陈道明,娶妻要娶左小青。世间的温柔,皆如干净的云朵和你!左小青的婚姻走到尽头,并发深夜的一次性灵魂交易,女生懂得如何爱惜自己吗?深夜的一次性灵魂交易,女生懂得如何爱惜自己吗?一个人的性格分为好多种,在深夜的时候我们可能会抑郁,甚至想一些特别悲伤的事情来影响自己第2天的情绪,但是一到了白天有阳光的时候,我们整长期单身的女人,从这几个方面可以看出前言两性交往的过程当中,一些事情,我们是可以看出来的,不要总是觉得生活很复杂,其实在这个世界上有很多事情都是因为我们本身的问题,只要我们好好努力一切都可以解决,如果你总是觉得生活很随遇而安(四十六)随遇而安(四十六)扪心自问不是多少喜欢足球,还是废寝忘食的几乎一场不漏的看着世界杯比赛。谁输谁赢并不是太在意,就看着赛场上的那些男人或哭或笑,或兴奋或痛苦,或激情飞扬或郁郁寡欢,以自己生命里的一道光文小满则满来源南风杂志图片来源网络(侵删)世界上有这样两个人,因为偶然的相遇,他们成为彼此生命里特殊的存在。1hr偌大的小区,原北北驱车来回转了三四圈都没找到一个停车位。她所住的小关键时间节点来了,限塑令范围年底前将扩大,五大任务曝光!4只概念龙头率先涨停,资金抢筹股出炉数据是个宝数据宝炒股少烦恼2022年底,限塑令的范围将进一步扩大。关键时间节点将至可降解塑料概念多股涨停周四,可降解塑料板块崛起,多只个股涨停,包括丹化科技茶花股份天元股份莫高股份
天生丽质曲绕阑珊秋日生活打卡季天生丽质曲绕阑珊重阳吟怀文绿怡香轩斜阳点点洒秋江,泛起无尽的柔光。巍巍秋山,茫茫秋水。重阳又至,蒹葭萋萋鸿雁翔。落霞伴着波光里的惆怅,撑起长长的桅杆,荡漾在心灵的江河欧冠悲喜一夜3队夺3连胜,拜仁52,西甲双雄同时输球北京时间10月5日凌晨,欧冠小组赛第3轮结束第一个比赛日,拜仁国米利物浦三大豪门集体狂欢,葡萄牙体育比尔森胜利阿贾克斯纷纷惨败,同时巴萨遭遇2连败,上演悲喜一夜,此外,拜仁那不勒斯为了你好我的妈妈是小蜜蜂,她每天都洗衣服做饭工作。每次我洗完澡前妈妈都要告诉我把衣服放在沙发上,我洗完澡妈妈没一会儿就把脱下来的衣服都洗了。每天都会教我写作业,妈妈每天都自己找活干。这是儿张翰凉了,黄晓明赢了01hr东八区的先生们,终于下架了。到目前为止,各大网站已经搜不到,这部剧的任何信息。而这大概是我见过,最新鲜的下架方式。别的剧被下架,大多因为其中某位主演塌房了。东八区的先生们与曝李易峰已婚!对方是某集团千金,几亿赔偿款有着落但出国发展难李易峰出事后,被无数网友唾弃,还不幸牵连了其他男艺人,但最终都是有惊无险,出事的只有他一人。因为这件事,大家对明星的宽容度再次上升,可以没有实力,可以随便谈恋爱,只要不违法,什么都秦始皇是暴君还是仁君?一些网友称秦始皇是暴君,很大一部分原因是自己的潜意识,还有一部分是因为对所谓正史的解读,就连司马迁对秦始皇的评价也是偏向于贬义,他在史记中这样描述秦王为人,蜂准,长目,挚鸟膺,豺声微信红包收不了,让上传身份证是怎么回事,怎么解决微信红包收不了让上传身份证是因为微信没有完成实名认证导致无法收取微信红包,如果已经完成实名认证则是身份信息过期的原因,只有完成实名认证或更新身份信息才可以解决。01未实名认证具体操浙JDE80浙J69BX浙B5G11全城曝光!来源台州交警发布版权归原作者所有,如有侵权请联系我们删除你开车的时候,是不是经常有这个动作?开车打电话发信息回微信看似一个分心驾驶的小动作却存在巨大的安全隐患今天蜀黍就来曝光这些大养老金最低档一年交多少钱,缴满15年能领多少钱?退休老人要会算点击上方收听全文养老金最低档一年交多少钱?缴满15年能领多少钱?退休老人要会算一直以来,大家都热衷于养儿防老,但随着经济的发展,年轻人生活压力剧增,老年人养儿防老的观念也逐渐开始转有钱人都是做什么的?按照福布斯排行榜,我统计了下大佬们的职业1。马斯克SpaceX特斯拉(新能源车)商人2。贝索斯亚马逊(世界电商)3。刘强东马云马化腾电商,电子支付4。方洪波美的集团(CEO)管理层雪铁龙换标被吐槽厦门金旅业内人士治标难治本9月27日,雪铁龙发布了新的企业品牌标识。这是雪铁龙品牌自1919年创立以来第十次换标,也是继标致和雷诺后Stellantis旗下第三个换标的品牌。雪铁龙新标识是竖向椭圆形双箭头图
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网