zoukankan      html  css  js  c++  java
  • rds_dbsync 增量同步数据 mysql2pgsql

    一、开启mysql的binlog日志,并配置binlog相关参数

    binlog_format = ROW
    binlog_row_image = FULL

    二、将源数据和目标数据对齐(字段名不能用大写

    1.执行 ./mysql2pgsql -l loader_table_list.txt -d -n    生成创建PG格式数据表的SQL

    2.Navicat Premium,创建一个查询,粘贴SQL,ctrl+a,ctrl+u转小写,修改<distribution key>为主键,执行,完成创建动作。

    3../mysql2pgsql -l loader_table_list.txt   完成全量数据初始化

    注:loader_table_list.txt文件是配置同步哪些表

    三、数据对齐后,查看mysql的binlog日志的文件和偏移量

    SHOW MASTER STATUS;
    
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000001  |   571203  |              |                  |
    +------------------+----------+--------------+------------------+

    四、配置文件(binlogfile和binlogfile_offset按上面的查出来的配置)

    [src.mysql]
    host = "10.10.x.x"
    port = "3306"
    user = "root"
    password = "xxxxxx"
    db = "dsideal_db"
    encodingdir = "share"
    encoding = "utf8"
    binlogfile = "mysql-bin.000001"
    binlogfile_offset = "571203"
    
    [binlogloader]
    loader_table_list = "loader_table_list.txt"
    
    [local.pgsql]
    connect_string = "host=10.10.x.x dbname=huanghai_temp port=5432 user=root password=xxxxxx"
    
    [desc.pgsql]
    connect_string = "host=10.10.x.x dbname=huanghai_db port=5432 user=root password=xxxxxx"
    target_schema = "public"
    ignore_copy_error_count_each_table = "0"

    五、启动

    #启动 binlog 拉取进程
    nohup ./binlog_miner 1>minner.log 2>&1 &
    
    #启动 binlog 写入进程
    nohup ./binlog_loader 1>loader.log 2>&1 &

    注:

    如果发生无法同步情况执行如下步骤:

    1、停止 binlog_miner 和 binlog_loader 两个进程。

    2、确认要同步的源表和目标表中没有大写的字段名,如有大写的字段名改为小写。

    3、将源数据和目标数据对齐。

    4、查看源库的binlog偏移量,并对my.cfg配置文件进行修改。

    5、将PG临时库中的所有表删除。

    6、将PG目标库中的_tmp_dbsync下的所有表删除。

    7、启动 binlog_miner 和 binlog_loader 两个进程

    
    
  • 相关阅读:
    hibernate_0100_HelloWorld
    MYSQL子查询的五种形式
    JSF是什么?它与Struts是什么关系?
    nop指令的作用
    htmlparser实现从网页上抓取数据(收集)
    The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the
    FCKeditor 在JSP上的完全安装
    Java遍历文件夹的2种方法
    充电电池和充电时间说明
    吃知了有什么好处
  • 原文地址:https://www.cnblogs.com/kgdxpr/p/15783345.html
Copyright © 2011-2022 走看看