zoukankan      html  css  js  c++  java
  • 原生mysql-到noshard(全量) mydumper myloader

    原生MYSQL  迁移至  非分布式实例NOSHARD 示例: 
    说明: 
    #全量数据迁移 :
          mydumper&myloader
                1、mydumper&myloader是mysql社区开源的一款高性能逻辑备份恢复工具。
                2、TDSQL团队在开源的基础上做了适配性的修改 。(符合相关开源协议)
                
    #增量数据同步
            利用MySQL主备同步迁移增量数据 (只能是原生mysql 到  tdsql noshard )
            
    工具说明:只能用tdsql 自带的
                >>tdsqlinstall/mysqlagent/bin/myloader
                >>tdsqlinstall/mysqlagent/bin/mydumper
    
    mydumper&myloader 运用场景:
             原生mysql     -  tdsql noshard
             原生mysql     -  tdsql shard (需提前创建好表,加shardkey)
             tdsql noshard -  tdsql noshard 
             tdsql noshard -  tdsql shard (需提前创建好表,加shardkey)
              tdsql shard  -  tdsql shard 
    

      

    全量迁移 : 

    ./mydumper --host=ip --port=xxxx --user=xxxx --password=xxxx --events --routines --triggers --less-locking --ignore-sysdb=1 --chunk-filesize=1024 --outputdir=/tmp –complete-insert
    
    说明:
            --ignore-sysdb=1  忽略心跳表 sysdb 的导出         
            –complete-insert  指生成插入语句时,带例名
    
    ./myloder --host=ip --port=xxxx --user=xxxx --password=xxxx –directory=/tmp --enable-binlog
    
    #mydumper & myloader需使用TDSQL自带版本
    >>tdsqlinstall/mysqlagent/bin/myloader
    >>tdsqlinstall/mysqlagent/bin/mydumper
    
    #注意metadata  不能要后缀名:需要手动更改  mv metadata.profile  metadata
    

      

    示例:
    1.创建导出文件的目录 :

    mkdir -p /tmp/mydumper
    cd /data/tdsql_run/4002/mysqlagent/bin
    导出10.85.10.55 上面的原生mysql 数据:
    ./mydumper --host=10.85.10.55 --port=3306 --user=root --password=root --events --routines --triggers --less-locking --ignore-sysdb=1 --chunk-filesize=1024 --outputdir=/tmp/mydumper –complete-insert
    
    2020-12-09 22:01:44] progress:0%
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    [2020-12-09 22:01:46] progress:100%
        
     #注意 :
             1.导出的路径为/tmp/mydumper  (好像/tmp/mydumper/也行),导入的路径为 /tmp/mydumper/
             2.导出导入日志分别在 /tmp/mydumper/目录下 dump_progress.info  ,  load_progress.info 
             3.导出原生mysql,用tdsql 的 mydumper 导源生mysql
                #如果metadata 里没有 master_log_file  和master_log_pos 是记录 
                    这不影响导入到TDSQL中,但如果增量同步需要master_log_file  和master_log_pos信息
                    [root@huyidb01 bin]# cat /tmp/mydumper/metadata     #用TDSQL的mydump 导出原生的原生mysql 。
                    Started dump at: 2020-12-09 15:26:04
                    Finished dump at: 2020-12-09 15:26:06
                #原因是源库没有开启bin log 
                #show variables like '%log_bin%';
                #vi   my.cnf   添加以下参数重启
                   log_bin = /mysql/log/3306/binlog
                   log_bin_index=/mysql/log/3306/binlog/BIN-LOG.index
    

      

    2. 导入:到非分布式库: 如果不导入系统表 可以先删掉 rm -rf sys.*

    ./myloader --host=10.85.10.51 --port=15002 --user=huyi35 --password=huyi --directory=/tmp/mydumper/ --enable-binlog
    [2020-12-09 22:15:49] progress:11%
    [2020-12-09 22:15:49] progress:16%
    [2020-12-09 22:15:49] progress:22%
    [2020-12-09 22:15:49] progress:27%
    [2020-12-09 22:15:49] progress:33%
    

      

    3.检查表   #注意,如果源表没有主键,在导入的时候不会创建该表。  需要先手动更改表结果。在导入

     mysql -h 10.85.10.51 -P15002  -uhuyi35 -phuyi    
    
    
    Database changed
    MySQL [ ]>  use huyidb ; 
    MySQL [huyidb]>   show tables ;
    +-------------------+
    | Tables_in_huyidb |
    +-------------------+
    | bm                |
    | dd                |
    | dq                |
    | gj                |
    | gw                |
    

      

  • 相关阅读:
    Angular的执行顺序
    小程序地理位置授权,以及无法打开授权弹框的解决办法
    当需要对一个集合遍历删除元素的时候,都应该倒着删
    .net core部署在CentOS上时关于使用GDI报错的问题
    FactoryMethod(工厂方法模式)
    SimpleFactory(简单工厂模式)
    .net core3.1中swagger的使用
    使用HtmlAgilityPack开发爬虫筛选HTML时,关于xpath的坑
    在centos7.x环境中SQL Server附加数据库
    centos7.x中安装SQL Server
  • 原文地址:https://www.cnblogs.com/cqdba/p/14637370.html
Copyright © 2011-2022 走看看