導入導出mysqldump
導出:mysqldump -u root -p --databases 數據庫1 數據庫2 > xxx.sql
導入:系統命令行: MySQL -u用戶名 -p密碼 <sql文件存儲路徑
常見選項:
--all-databases, -A: 備份所有數據庫
--databases, -B: 用於備份多個數據庫,如果沒有該選項,mysqldump把第一個名字參數作為數據庫名,后面的作為表名。使用該選項,mysqldum把每個名字都當作為數據庫名。
--host=host_name, -h host_name:備份主機名,默認為localhost
--user=user_name, -u user_name:用戶名
--password[=password], -p[password]:密碼
--port=port_num, -P port_num:制定TCP/IP連接時的端口號
--no-data, -d:只導出表結構
--quick, -q:快速導出
--tables:覆蓋 --databases or -B選項,后面所跟參數被視作表名
--xml, -X:導出為xml文件
--force, -f:即使發現sql錯誤,仍然繼續備份
1.備份全部數據庫的數據和結構
mysqldump -uroot -p123456 -A >F:\all.sql
2.備份全部數據庫的結構(加 -d 參數)
mysqldump -uroot -p123456 -A-d>F:\all_struct.sql
3.備份全部數據庫的數據(加 -t 參數)
mysqldump -uroot -p123456 -A-t>F:\all_data.sql
4.備份單個數據庫的數據和結構(,數據庫名mydb)
mysqldump -uroot-p123456 mydb>F:\mydb.sql
5.備份單個數據庫的結構
mysqldump -uroot -p123456 mydb-d>F:\mydb.sql
6.備份單個數據庫的數據
mysqldump -uroot -p123456 mydb-t>F:\mydb.sql
7.備份多個表的數據和結構(數據,結構的單獨備份方法與上同)
mysqldump -uroot -p123456 mydb t1 t2>f:\multables.sql
8.一次備份多個數據庫
mysqldump -uroot -p123456 --databases db1 db2>f:\muldbs.sql
還原部分分(1)mysql命令行source方法 和 (2)系統命令行方法
1.還原全部數據庫:
(1) mysql命令行:mysql>source f:\all.sql
(2) 系統命令行: mysql -uroot -p123456 <f:\all.sql
2.還原單個數據庫(需指定數據庫)
(1) mysql>use mydb
mysql>source f:\mydb.sql
(2) mysql -uroot -p123456 mydb <f:\mydb.sql
3.還原單個數據庫的多個表(需指定數據庫)
(1) mysql>use mydb
mysql>source f:\multables.sql
(2) mysql -uroot -p123456 mydb<f:\multables.sql
4.還原多個數據庫,(一個備份文件里有多個數據庫的備份,此時不需要指定數據庫)
(1) mysql命令行:mysql>source f:\muldbs.sql
(2) 系統命令行: mysql -uroot -p123456<f:\muldbs.sql
導入導出txt文本文件
創建測試表
create table test(id int not null primary key,name varchar(20) not null);
1.導出(into outfile)
select id,name into outfile "/var/lib/mysql-files/test.txt" lines terminated by "\r\n" from test;
其中lines terminated by “/r/n”表示每一行(即每一條記錄)用/r/n分隔,/r/n是window系統的換行符。
2.導入(local infile)
load data local infile "/var/lib/mysql-files/test.txt" into table test(id,name);