mysqldump
命令行導出數據庫:
1,進入MySQL目錄下的bin文件夾:cd MySQL中到bin文件夾的目錄
如我輸入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin
2,導出數據庫:mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
如我輸入的命令行:mysqldump -u root -p news > news.sql (輸入後會讓你輸入進入MySQL的密碼)
(如果導出單張表的話在數據庫名後面輸入表名即可)
3、會看到文件news.sql自動生成到bin文件下
命令行導入數據庫:
1,將要導入的.sql文件移至bin文件下,這樣的路徑比較方便
2,同上面導出的第1步
3,進入MySQL:mysql -u 用戶名 -p
如我輸入的命令行:mysql -u root -p (輸入同樣後會讓你輸入ySQL的密碼)
4,在MySQL-Front中新建你要建的數據庫,這時是空數據庫,如新建一個名為news的目標數據庫(mysql>create database news;)
5,輸入:mysql>use 目標數據庫名
如我輸入的命令行:mysql>use news;
6,導入文件:mysql>source 導入的文件名;
如我輸入的命令行:mysql>source news.sql;
實例:
導出
#> cd /usr/local/src #> /usr/local/mysql/bin/mysqldump -uroot -p123456 cacti > cacti.sql;
這樣就看到cacti.sql導出到了/usr/local/src/目錄
1.導出整個數據庫
mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名 mysqldump -u root -p abc > abc.sql
2.導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名 mysqldump -u root -p abc users> abc_users.sql
3.導出一個數據庫結構
mysqldump -u root -p -d --add-drop-table abc >/usr/local/abc_db.sql -d 沒有數據 --add-drop-table 在每個create語句之前增加一個drop table
導入
#> /usr/local/mysql/bin/mysql -uroot -p mysql> create database cacti; 新建數據庫名為cacti mysql> use cacti; 選擇目標數據庫 mysql> source /usr/local/src/cacti.sql 導入數據庫
這樣就導入了cacti.sql文件
load data
(windows系統。。表結構一致的情況下)
命令在DOS的mysql/bin目錄下執行:
導出:
select * from aaa into outfile "e:/a.txt";
導入:
load data local infile "e:/a.txt" into table aaa;
備份:SELECT INTO OUTFILE
SELECT * FROM hx_9enjoy INTO OUTFILE '/tmp/9enjoy.txt'
默認使用tab分割字段,記錄使用/n分割。可以自定義三個參數。
SELECT * FROM hx_9enjoy INTO OUTFILE '/tmp/9enjoy_hx.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '/n';
即使用,分割字段,雙引號限定字段內容,/n分割記錄。
還可以指定某些條件的記錄輸出:
SELECT * FROM hx_9enjoy WHERE id < 100 INTO OUTFILE '/tmp/9enjoy_100.txt'
還原:LOAD DATA INFILE
默認情況:
LOAD DATA INFILE '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy
如果有指定界定符,則加上界定符的說明:
LOAD DATA INFILE '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '/n'
如果db是GBK或utf-8等編碼,需要在還原時指定CHARACTER SET參數,否則還原的數據是亂碼。
如:
load data infile '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy CHARACTER SET gbk;
注意事項
1.mysql必須要有權限訪問生成文件的那個目錄
2.由於安全方面的原因,不能覆蓋已存在的文件,不管這個文件的權限是怎麼分配的。
3.不能直接導出一個壓縮文件。