您好,登錄后才能下訂單哦!
使用into outfile 和 load data infile導入導出數據
這種方法的好處是,導出的數據可以自己規定格式,并且導出的是純數據,不存在建表信息,你可以直接導入另外一個同數據庫的不同表中,相對于mysqldump比較靈活機動。
下面的mysql命令是把select的mytable表中的數據導出到/home/db_bak2012文件。
select * from mytable where status!=0 and name!='' into outfile '/home/db_bak2012' fields terminated by '|' enclosed by '"' lines terminated by '\r\n' ;
參考:
https://dev.mysql.com/doc/refman/5.7/en/select-into.html
導入剛才備份的數據,可以使用load data infile方法,等價于mysqlimport命令,下面的mysql命令,把導出的數據導入了mytable_bak的表中:
load data infile '/home/db_bak2012' into table mytable_bak fields terminated by '|' enclosed by '"' lines terminated by '\r\n' ;
參考:
https://dev.mysql.com/doc/refman/5.7/en/load-data.html
https://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html
使用mysqldump導出數據庫
我們來看幾個常用用例:
(1)導出整個數據庫數據和表結構
mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
(2)導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
(3)導出結構不導出數據
mysqldump --opt -d 數據庫名 -u root -p > xxx.sql
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql
#-d 不導出數據只導出結構 --add-drop-table 在每個create語句之前增加一個drop table
(4)導出數據不導出結構
mysqldump -t 數據庫名 -uroot -p > xxx.sql
(5)導入數據庫,常用source 命令
mysql -u root -p
mysql>use 數據庫
mysql>set names utf8; (先確認編碼,如果不設置可能會出現亂碼,注意不是UTF-8)
mysql>source ./wcnc_db.sql
(6)多庫導出
上邊的實例只是最基礎的,有的時候我們可能需要批量導出多個庫,我們就可以加上--databases 或者-B,如下語句:
mysqldump -uroot -p --databases test mysql #空格分隔
還有的時候我們可能需要把數據庫內所有的庫全部備份,我們就可以使用-all-databases,如下語句:
mysqldump -uroot -p -all-databases
(7)條件導出
mysqldump命令中帶有一個 --where/-w 參數,它用來設定數據導出的條件,使用方式和SQL查詢命令中中的where基本上相同,有了它,我們就可以從數據庫中導出你需要的那部分數據了。
命令格式如下:
mysqldump -u用戶名 -p密碼 數據庫名 表名 --where="篩選條件" > 導出文件路徑
例子:
從test數據庫的test_data表中導出id大于100的數據到 /tmp/test.sql 這個文件中
mysqldump -uroot -p123456 test test_data --where=" id > 100" > /tmp/test.sql
導入的時候
mysql -u root -p 123456 test test_data < test.sql
參考:
https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。