資料庫的shell命令匯入匯出

2021-07-09 13:39:21 字數 1342 閱讀 9101

最近有需要對生產環境的資料進行備份到本地,供後續新功能測試用。由於公司使用的是阿里雲的資料庫伺服器。不能通過客戶端連線到資料,只能想辦法從後台用shell指令碼命令來實現資料庫的備份。(先申明本次備份針對的是mysql資料庫,其他如oracle,sqlserver和nosql等沒有試驗過,如果您有興趣可以試試。)

我們知道mysqldump命令可以匯出資料到檔案中。那麼我們就可以先從阿里雲資料庫伺服器上用該命令匯出相關資料庫表的sql檔案,然後用mysql命令匯入到本地的mysql資料庫中,這樣我們就可以實現生產環境的資料備份。那麼首先,我們來匯出線上資料到sql檔案,具體步驟是:

1、匯出命令

mysqldump -u使用者名稱 -p密碼 -h主機  資料庫名 表名  --where "sql語句"> 路徑/sql檔案

mysqldump -u$user -p$passwd -h$host

$dbname  $tablename --where "id > 1 and id < 1000"  >/home/1.sql    #按sql語句匯出

mysqldump -u$user -p$passwd -h$host  $dbname  $tablename> /home/2.sql #匯出全表

mysqldump -u$user -p$passwd -h$host  $dbname  $tablename-d > /home/3.sql #匯出全表結構       

上述命令匯出的sql檔案是帶有表結構的,所以我們可以用mysql命令直接匯入到本地資料庫中。

2、匯入sql檔案中的資料到本地資料庫

mysql -u使用者名稱 -p密碼 -h主機  資料庫名

< sql檔案

mysql -u$user -p

-h$host

-d$dbname <1.sql 

上述匯入命令,有幾點要注意,1)語句結尾不要;號  2)-d要大寫 3)-p後面不要跟密碼,密碼在敲完上述命令後回車輸入

其他資料庫表依次執行此操作。至此,我們對生產環境的資料庫備份就完成。

另外,補充一點。我們經常會直接從我們的後台匯入資料到文字檔案(txt,csv等等)下面的語句對你或許有用。

mysql -u使用者名稱 -p密碼 -h主機  資料庫名

-e "sql語句" > 1.txt

mysql

-u$user -p$passwd

-h$host

$dbnamd -e "select * from test where id = 1「  > 1.txt

匯入的文字檔案,我們用excel的檔案匯入功能就能輕鬆將其轉化成工作中需要的excel檔案。excel匯入文字檔案時要注意相關資料的格式,純數字超過15位要用文字格式否則尾數會精度丟失。

mysql命令匯入匯出資料庫

mysql命令列匯出資料庫 mysql命令列匯出資料庫 1,進入mysql目錄下的bin資料夾 cd mysql中到bin資料夾的目錄 如我輸入的命令列 cd c program files mysql mysql server 4.1 bin 或者直接將windows的環境變數path中新增該目錄...

Oracle資料庫匯入匯出命令

匯出表結構 exp name password hostname db name owner username rows n file filename.dmp log exp log.log 匯入表結構 imp name password hostname db name fromuser use...

oracle 資料庫 匯入匯出命令

匯入匯出命令imp emp 1 將資料庫test完全匯出,使用者名稱system 密碼manager 匯出到d daochu.dmp中 exp system manager test file d daochu.dmp full y 2 將資料庫中system使用者與sys使用者的表匯出 exp s...