您好,登錄后才能下訂單哦!
本文主要給大家介紹mysql數據庫遷移及腳本開發,希望可以給大家補充和更新些知識,如有其它問題需要了解的可以持續在億速云行業資訊里面關注我的更新文章的。
公司新平臺上線,老數據庫中有一些原本的用戶數據需要遷移到新平臺,特地開發這個腳本,以保證數據的完整性,以及效率性 #!/bin/bash ##到出舊數據庫中需要的表echo "請在腳本語言目錄下準備3個文件,一個為tables.txt,里面列出需要從舊數據庫中導出的表名,另一個是oldmysqlauth舊數據庫的用戶賬號密碼以及數據庫,第三個是newmysqlauth新數據庫的用戶賬號密碼以及數據庫,分別列出格式為: 1 2 3 ..." counts=`awk 'BEGIN{t=0;} { t++; } END{print t; }' tables.txt` i=1 mkdir sql if [ -e tables.txt ] && [ -e oldmysqlauth ] && [ -e newmysqlauth ]; then while [ $i -le $counts ]; do table=`awk -v awk_i="$i" 'NR==awk_i{print}' tables.txt`; /usr/bin/mysqldump -u`awk 'NR==1{print}' oldmysqlauth` -p`awk 'NR==2{print}' oldmysqlauth` `awk 'NR==3{print}' oldmysqlauth` $table > sql/$table.sql i=$((i+1)) done else echo "程序需要文件不完整,請檢查" fi echo "已經將您需要的表從舊的數據庫中導出,即將進行數據表還原" ##將舊數據庫中導出的表導入新數據庫中 k=1 if [ -e tables.txt ] && [ -e oldmysqlauth ] && [ -e newmysqlauth ]; then while [ $k -le $counts ]; do table=`awk -v awk_k="$k" 'NR==awk_k{print}' tables.txt`; /usr/bin/mysql -u`awk 'NR==1{print}' newmysqlauth` -p`awk 'NR==2{print}' newmysqlauth` `awk 'NR==3{print}' newmysqlauth` < /root/datapopulate/sql/$table.sql k=$((k+1)) done else echo "程序需要文件不完整,請檢查" fiecho "已經將舊數據庫中的表遷移到新的數據庫中,謝謝使用!"
看了以上關于mysql數據庫遷移及腳本開發,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,如有需要更加專業的解答,可在官網聯系我們的24小時售前售后,隨時幫您解答問題的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。