閱讀351 返回首頁    go 阿裏雲


導入MySQL數據__快速入門_雲數據庫 HybridDB-阿裏雲

雲數據庫HybridDB(ApsaraDB HybridDB)是一種在線MPP大規模並行處理數據倉庫服務。雲數據庫HybridDB基於Greenplum Database開源數據庫項目,並由阿裏雲深度擴展支持OSS存儲、JSON數據類型、HyperLogLog預估分析等功能特性。

mysql2pgsql

工具 mysql2pgsql 支持不落地的把 MYSQL 中的表遷移到 HybridDB/PostgreSQL/PPAS。此工具的原理是,同時連接源端mysql數據庫,和目的端HybridDB/PostgreSQL/PPAS數據庫,從mysql庫中通過查詢得到要導出的數據,然後通過COPY命令導入到目的端。此工具支持多線程導入(每個工作線程負責導入一部分數據庫表)。

參數配置

修改配置文件 my.cfg,配置源和目的庫連接信息

  1. 1. 源庫 mysql 連接信息
  2. [src.mysql]
  3. host = "192.168.1.1"
  4. port = "3306"
  5. user = "test"
  6. password = "test"
  7. db = "test"
  8. encodingdir = "share"
  9. encoding = "utf8"
  10. 2. 目的庫 pgsql (包括 Postgresql、PPAS 和 HybridDB )連接信息
  11. [desc.pgsql]
  12. connect_string = "host=192.168.1.1 dbname=test port=5888 user=test password=pgsql"

注意

  1. 1. 源庫 mysql 的連接信息中,用戶需要有對所有用戶表的讀權限
  2. 2. 目的庫 pgsql 的連接信息,用戶需要對目標表有寫的權限

mysql2pgsql用法

  1. ./mysql2pgsql -l <tables_list_file> -d -j <number of threads>

其中參數的意義如下:

-l 為可選參數,指定一個文本文件,文件中含有需要同步的表;如果不指定此參數,則同步配置文件中指定的數據庫下的所有表。<tables_list_file>為一個文件名,裏麵含有需要同步的表集合以及表上查詢的條件,其內容格式示例如下:

  1. table1 : select * from table_big where column1 < '2016-08-05'
  2. table2 :
  3. table3
  4. table4: select column1, column2 from tableX where column1 != 10
  5. table5: select * from table_big where column1 >= '2016-08-05'

-d 為可選參數,表示隻生成目的表的建表DDL語句,不實際進行數據同步。

-j 為可選參數,指定使用多少線程進行數據同步;如果不指定此參數則會使用5個線程並發。

典型用法

  1. 1 全庫遷移
  2. 1)通過下麵的命令,獲取目的端對應的表的DDL
  3. ./mysql2pgsql -d
  4. 然後根據這些DDL,再加入distribution key等信息,在目的端創建表。
  5. 2)執行下麵的命令,同步所有表:
  6. ./mysql2pgsql
  7. 此命令會把配置文件中所指定的數據庫中的所有mysql表數據遷移到目的端。過程中使用5個線程(即缺省線程數為5),讀取和導入所有涉及的表數據。
  8. 2. 部分表遷移
  9. 1)編輯一個新文件tab_list.txt,放入如下內容:
  10. ```
  11. t1
  12. t2 : select * from t2 where c1 > 138888
  13. ```
  14. 2) 執行下麵的命令,同步指定的t1和t2表(注意t2表隻遷移符合c1 > 138888條件的數據):
  15. ./mysql2pgsql -l tab_list.txt

mysql2pgsql工具下載鏈接

請詳細閱讀阿裏雲的開源項目rds_dbsync並進行編譯安裝 https://github.com/aliyun/rds_dbsync/blob/master/doc/design.md

最後更新:2016-12-01 11:09:16

  上一篇:go 高速 OSS 並行導入導出__快速入門_雲數據庫 HybridDB-阿裏雲
  下一篇:go 導入PostgreSQL數據__快速入門_雲數據庫 HybridDB-阿裏雲