教程】【數據庫遷移到DDM時SQL兼容性分析技巧】 | 求斑竹加精 | 求獎勵代金券

      網友投稿 785 2022-05-29

      1 寫在前面

      最近公司成功地把服務全部遷移上華為云。認真講一句,大大小小十幾個系統,業務切換還是花了兩個多月心血的,總結下來,就是要認真做好遷移方案的規劃,以及遷移演練。

      我們在演練過程中發現了很多平時忽略的小細節,比如安全組沒規劃好,連不上數據庫;遷移用的跳板機磁盤買小了,從200G換成500G才夠用,等等。

      這里重點分享一個數據庫遷移方面的案例,給各位上云的兄弟們參考。

      背景是這樣的:

      我們把數據庫由MySQL改成了DDM+RDS(MySQL)方案,做分布式數據庫部署。華為云的DDM雖然兼容MySQL5.6+版本,但實際上還是有一些SQL語法約束的。雖然華為云在幫助中心列出了SQL語法的兼容清單與說明,但畢竟咱們SQL都是寫在代碼里的啊啊啊啊。

      這讓我們有點點小難過,畢竟代碼里嵌了幾千條SQL。

      關鍵時候,組里的DBA老專家給力,提供了一個從代碼中批量抽取SQL的小工具。

      廢話不多說,上干貨。

      2 準備工作

      2.1 環境準備

      1. 需要準備一臺電腦,用于運行SQL語句抽取工具:SchemaConversionTool(AWS提供的SQL轉換工具)。

      建議為Windows系統,以下指導采用Windows系統環境為例進行說明。如為其他系統,可參考點我下載其他系統版本。

      2. 將包含SQL的源代碼文件拷貝到這臺電腦上,用于分析和抽取SQL。

      2.2 安裝數據庫

      安裝兩個不同類型的數據庫,其中一個為系統所使用的數據庫服務MySQL,另一個為其他類型的數據庫,建議安裝PostgreSQL。

      以下數據庫理論上來說都可以:

      MySQL、SQL Server、Oracle、PostgreSQL、Teradata、Vertica以及AWS自研的一些兼容MySQL、PostgreSQL等。

      為了方便操作,建議采用MySQL和PostgreSQL,在Windows系統下操作。

      安裝MySQL

      我服務器上本來就有MySQL,免了。還是多磨嘰幾句,供兄弟們參考。

      前往MySQL官網下載,可以選擇社區版MySQL。

      安裝完成后記住數據庫名稱、數據庫地址(127.0.0.1或localhost)、數據庫端口(默認3306)、數據庫用戶(超級用戶默認為root)、用戶密碼。

      安裝PostgreSQL

      前往PostgreSQL官網下載,選擇Windows版本PostgreSQL。

      安裝完成后記住數據庫名稱(默認postgres)、數據庫地址(127.0.0.1或localhost)、數據庫端口(默認5432)、數據庫用戶(默認postgres)、用戶密碼。

      【教程】【數據庫遷移到DDM時SQL兼容性分析技巧】 | 求斑竹加精 | 求獎勵代金券

      下載JDBC驅動

      轉換工具連接各數據庫,需要使用JDBC驅動:MySQL的JDBC驅動、PostgreSQL的JDBC驅動。

      如果使用其他類型數據庫,請前往以下頁面選擇并下載驅動:其他類型數據庫驅動下載。

      下載得到不同類型的jar文件,如:

      mysql-connector-java-5.1.45-bin.jar

      postgresql-9.4-1204.jdbc4.jar

      2.3 安裝轉換工具

      這個工具老外整的,夠強大,能夠將一個數據庫的SQL語句轉換為另一種數據庫類型的SQL語句。我們僅使用它的SQL抽取功能,從含有SQL語句的應用程序中,將SQL分析并抽取出來。

      轉換工具下載頁面,為兄弟們再貼一次:SchemaConversionTool工具。

      下載后解壓,并雙擊以下文件進行安裝(Windows版):AWS Schema Conversion Tool-1.0.609.msi

      雙擊后靜默方式安裝,不需要填寫任何參數。安裝完成后可在開始菜單中找到:“amazon.com > SchemaConversionTool”。

      3 操作指導

      3.1 配置轉換工程(連接兩個不同的數據庫)

      準備工作完成后(安裝完數據庫以及轉換工具),打開轉換工具:AWS Schema Conversion Tool。

      如果第一次使用,會彈出新的轉換工程創建窗口。

      步驟 1????? 選擇源數據庫配置。這里選擇實際使用的數據庫類型。

      步驟 2????? 連接源數據庫。

      填寫數據庫配置信息,導入JDBC驅動。

      這里要注意:需要單擊左下角的“Test Connection”,測試數據庫配置正確后,才能單擊“Next”。

      步驟 3????? 選擇Schema。

      由于僅分析和抽取SQL,所以我們選擇其中一個Schema即可。

      步驟 4????? 運行數據遷移評估。這一步不需要做選擇,直接單擊“Next”。

      步驟 5????? 選擇目標數據庫。

      目標數據庫引擎可以選擇已安裝的PostgreSQL。填寫PostgreSQL數據庫配置信息,導入驅動程序。

      步驟 6????? 單擊“Finish”,完成導入。

      3.2 導入源碼工程并分析SQL

      說明:將源碼導入到工具中,完成SQL分析。

      步驟 1????? 在工具主菜單中選擇“Applications > New Application”。

      步驟 2????? 選擇源語言類型。

      右側的參數風格可以不用選擇。

      步驟 3????? 單擊“確定”,進入新創建的轉換工程頁面。

      步驟 4????? 在菜單欄中選擇“File > Change Folders”。將文件夾指向客戶程序源碼文件夾。

      步驟 5????? 選中文件夾,然后在菜單欄選擇“Actions > Alalyze”,開始分析SQL。

      步驟 6????? 生成分析結果后,單擊右下角的“Save”,生成CSV文件。

      步驟 7????? 生成的CSV文件即為代碼文件中SQL的分析結果。

      4 SQL兼容性分析

      把SQL抽取出來后,我們對著華為云幫助中心提供的SQL兼容性說明分析了2小時。不過還不放心,又聯系了DDM服務的技術支持,幫忙做進一步分析,技術支持態度挺好的,幫著找出了5處不兼容的SQL,并給了修改建議。

      這里贊一下他們的南哥,“老專家”稱號,他至少配得上其中兩個字。

      瀝血整理了一篇實戰干貨,版主能轉告DDM產品團隊,送我一些代金券么?????

      數據遷移 分布式數據庫中間件 DDM

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:智慧城市以用為本,十大趨勢必知道!
      下一篇:ROS機器人操作系統的安裝、配置與初級教程
      相關文章
      亚洲国产精品网站在线播放| 亚洲精品一区二区三区四区乱码 | 亚洲欧洲一区二区| 国产亚洲成归v人片在线观看 | 亚洲视频在线免费播放| 久久精品亚洲中文字幕无码麻豆 | 亚洲av最新在线观看网址| 亚洲色大成网站www| 亚洲人成网站999久久久综合| 亚洲色欲色欲www| 亚洲熟女www一区二区三区| 一本色道久久综合亚洲精品蜜桃冫| 亚洲精品综合在线影院| 中文字幕亚洲精品无码| 亚洲高清毛片一区二区| 国产亚洲欧美在线观看| 丁香亚洲综合五月天婷婷| 一本久到久久亚洲综合| 久久久久噜噜噜亚洲熟女综合| 亚洲综合另类小说色区| 亚洲另类激情综合偷自拍图| 国产成人亚洲综合无码精品 | 亚洲精品乱码久久久久蜜桃 | 高清在线亚洲精品国产二区| 亚洲精品无码av天堂| 国内精品99亚洲免费高清| 亚洲国产成人高清在线观看| 久久夜色精品国产嚕嚕亚洲av| 亚洲国语精品自产拍在线观看 | 深夜国产福利99亚洲视频| 亚洲av无码专区在线观看素人| 亚洲精品色婷婷在线影院| 亚洲线精品一区二区三区| 亚洲avav天堂av在线不卡| 亚洲视频小说图片| 亚洲AV一二三区成人影片| 亚洲精品国产首次亮相| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲国产精品无码专区| 亚洲一区二区在线视频| 亚洲乱码无限2021芒果|