您好,登錄后才能下訂單哦!
Mysql怎樣遷移至postgrepsql,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
工具 mysql2pgsql 支持不落地的把 MYSQL 中的表遷移到 HybridDB/Greenplum Database/PostgreSQL/PPAS。此工具的原理是,同時連接源端 mysql 數據庫和目的端數據庫,從 mysql 庫中通過查詢得到要導出的數據,然后通過 COPY 命令導入到目的端。此工具支持多線程導入(每個工作線程負責導入一部分數據庫表)。
修改配置文件 my.cfg、配置源和目的庫連接信息。
源庫 mysql 的連接信息如下:
注意:源庫 mysql 的連接信息中,用戶需要有對所有用戶表的讀權限。
mysql2pgsql 用法
mysql2pgsql 的用法如下所示:
./mysql2pgsql -l -d -n -j <number of threads> -s <schema of target able>
參數說明:
-l:可選參數,指定一個文本文件,文件中含有需要同步的表;如果不指定此參數,則同步配置文件中指定數據庫下的所有表。為一個文件名,里面含有需要同步的表集合以及表上查詢的條件,其內容格式示例如下:
典型用法
全庫遷移的操作步驟如下所示:
通過如下命令,獲取目的端對應表的 DDL。
./mysql2pgsql -d
根據這些 DDL,再加入 distribution key 等信息,在目的端創建表。
執行如下命令,同步所有表:
./mysql2pgsql
此命令會把配置文件中所指定數據庫中的所有 mysql 表數據遷移到目的端。過程中使用 5 個線程(即缺省線程數為 5),讀取和導入所有涉及的表數據。
編輯一個新文件 tab_list.txt,放入如下內容:
執行如下命令,同步指定的 t1 和 t2 表(注意 t2 表只遷移符合 c1 > 138888 條件的數據):
t1
t2 : select * from t2 where c1 > 138888
./mysql2pgsql -l tab_list.txt
看完上述內容,你們掌握Mysql怎樣遷移至postgrepsql的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。