我們使用Ruby腳本從MySQL數據遷移到紅移(PostgreSQL系統)。目前我們使用YAML配置文件來維護架構信息(列名和類型)。所以,每當一個MySQL表被改變,我們需要手動更改YAML文件。現在,我們正在考慮將YAML配置作爲JSON對象移動到數據庫(PSQL)。但是我們仍然需要手動更改架構configurations.We要自動運行的過程中(最好是用Ruby)將RDS(MySQL)模式複製到AWS Redshift的最佳方式是什麼?
PS:我們用彬登錄逐步更新在AWS紅移數據。
我們使用Ruby腳本從MySQL數據遷移到紅移(PostgreSQL系統)。目前我們使用YAML配置文件來維護架構信息(列名和類型)。所以,每當一個MySQL表被改變,我們需要手動更改YAML文件。現在,我們正在考慮將YAML配置作爲JSON對象移動到數據庫(PSQL)。但是我們仍然需要手動更改架構configurations.We要自動運行的過程中(最好是用Ruby)將RDS(MySQL)模式複製到AWS Redshift的最佳方式是什麼?
PS:我們用彬登錄逐步更新在AWS紅移數據。
有幾種可能的解決方案給你。
第一種是使用AWS數據管道。這是一種在不同的AWS計算和存儲服務之間移動數據的服務。 (https://aws.amazon.com/datapipeline/)
另一種選擇是使用一個數據集成工具如Alooma。它可以近乎實時地從Amazon RDS to a AWS Redshift上託管的MySQL數據庫複製表。
它支持您所使用的Bin日誌複製方法。
按照此步驟,以複製數據:
建立斌日誌託管的MySQL:
要複製MySQL表Alooma需要基於行的複製到被設置爲能夠讀取你的MySQL事件。
驗證您的二進制日誌是通過運行下面的語句配置 - 返回的值應該是ROW:
mysql> SHOW GLOBAL VARIABLES LIKE 'binlog_format';
確認您的二進制日誌記錄格式設置爲FULL:
mysql> SHOW GLOBAL VARIABLES LIKE 'binlog_row_image';
確認您的日誌從屬更新選項已設置爲ON:
的MySQL> SHOW GLOBAL VARIABLES LIKE 'log_slave_updates';
如果您的MySQL當前未設置爲基於行的複製,則需要對其進行設置。
在my.cnf文件(在/ etc/mysql /下)中包含以下行。下面的示例爲 「香草」 的MySQL 5.6安裝:
的[mysqld] 日誌斌= MySQL的賓 服務器ID = 1個 binlog_format = ROW 數從屬更新=真
確保重新啓動MySQL服務器以接收更改。
創建Alooma用戶,類似於MySQL從用戶:
的MySQL>創建用戶 'alooma' @ '%' IDENTIFIED BY 'YOUR_PASSWORD';
mysql> GRANT REPLICATION SLAVE,SELECT,RELOAD,REPLICATION CLIENT, 鎖表,執行。 TO'alooma'@'%';
mysql> FLUSH PRIVILEGES;
您是否考慮過AWS數據庫遷移服務? – talentedmrjones