今天想導出部分數據找了半天終於找到對應的幾個方法
首先看下字符集,省的導出的時候是亂碼
1.用命令
代碼如下 復制代碼mysql> SHOW VARIABLES LIKE "character_set%";
根據對應的字符集value決定采用導出字符latin1 還是utf8
2.采用 –where的方式導出
代碼如下 復制代碼mysqldump -uroot -p123456 --default-character-set=latin1 i5a6 i5a6_data --where=" id < 100" > bki5a6.sql
3.采用創建新表結構和原來表相同復制部分數據的形式再全部導出新表數據即可
代碼如下 復制代碼INSERT INTO Table2(field1,field2,...) SELECT value1,value2,... FROM Table1
涉及更多 mysql備份導入導出說明(二進制導出等)
1.導出整個數據庫(–hex-blob 為有blob數據做的,防止亂碼和導入失敗用)
mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
代碼如下 復制代碼mysqldump -u root -p --default-character-set=gbk --hex-blob i5a6 > i5a6.sql
2.導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
代碼如下 復制代碼mysqldump -u root -p i5a6 users> i5a6.sql
3.導出一個數據庫結構
代碼如下 復制代碼mysqldump -u root -p -d --add-drop-table i5a6 >d:/i5a6.sql
-d 沒有數據 –add-drop-table 在每個create語句之前增加一個drop table
4.導入數據庫
常用source 命令
進入mysql數據庫控制台,
如mysql -u root -p
mysql>use 數據庫
然後使用source命令,後面參數為腳本文件(如這裡用到的.sql)
代碼如下 復制代碼mysql>source d:/i5a6.sql
另附錄一份備份的shell腳本(backup.sh)
date_str=`date +%Y%m%d`
cd /data2/backup
mysqldump -h localhost -u root --password=xxxxx -R -e \
--max_allowed_packet=1048576 --net_buffer_length=16384 i5a6\
| gzip > /data2/backup/i5a6_$date_str.sql.gz
完畢,感覺采用mysqldump 導出的時候更省事,流著以後用的時候好直接翻閱