0

我們使用Ruby腳本從MySQL數據遷移到紅移(PostgreSQL系統)。目前我們使用YAML配置文件來維護架構信息(列名和類型)。所以,每當一個MySQL表被改變,我們需要手動更改YAML文件。現在,我們正在考慮將YAML配置作爲JSON對象移動到數據庫(PSQL)。但是我們仍然需要手動更改架構configurations.We要自動運行的過程中(最好是用Ruby)將RDS(MySQL)模式複製到AWS Redshift的最佳方式是什麼?

PS:我們用彬登錄逐步更新在AWS紅移數據。

+0

您是否考慮過AWS數據庫遷移服務? – talentedmrjones

回答

0

有幾種可能的解決方案給你。

第一種是使用AWS數據管道。這是一種在不同的AWS計算和存儲服務之間移動數據的服務。 (https://aws.amazon.com/datapipeline/

另一種選擇是使用一個數據集成工具如Alooma。它可以近乎實時地從Amazon RDS to a AWS Redshift上託管的MySQL數據庫複製表。

它支持您所使用的Bin日誌複製方法。

按照此步驟,以複製數據:

建立斌日誌託管的MySQL:

要複製MySQL表Alooma需要基於行的複製到被設置爲能夠讀取你的MySQL事件。

  1. 驗證您的二進制日誌是通過運行下面的語句配置 - 返回的值應該是ROW:

    mysql> SHOW GLOBAL VARIABLES LIKE 'binlog_format';

  2. 確認您的二進制日誌記錄格式設置爲FULL:

    mysql> SHOW GLOBAL VARIABLES LIKE 'binlog_row_image';

  3. 確認您的日誌從屬更新選項已設置爲ON:

    的MySQL> SHOW GLOBAL VARIABLES LIKE 'log_slave_updates';

如果您的MySQL當前未設置爲基於行的複製,則需要對其進行設置。

  1. 在my.cnf文件(在/ etc/mysql /下)中包含以下行。下面的示例爲 「香草」 的MySQL 5.6安裝:

    的[mysqld] 日誌斌= MySQL的賓 服務器ID = 1個 binlog_format = ROW 數從屬更新=真

  2. 確保重新啓動MySQL服務器以接收更改。

  3. 創建Alooma用戶,類似於MySQL從用戶:

    的MySQL>創建用戶 'alooma' @ '%' IDENTIFIED BY 'YOUR_PASSWORD';

    mysql> GRANT REPLICATION SLAVE,SELECT,RELOAD,REPLICATION CLIENT, 鎖表,執行 TO'alooma'@'%';

    mysql> FLUSH PRIVILEGES;

相關問題