Mysql逻辑备份导入导出的几种方法


导出

1 .mysqldump

mysqldump -uroot -p db_name table_name > dump.sql

导出sql文件

mysqldump -h 192.168.1.5 -uroot -p db_name > /var/dbdump.sql

导出远程数据库192.168.1.5上的“db_name”库到本地/var/dbdump.sql。

$ mysqldump -uroot -p db_name \
            |mysql -h 192.168.1.6 db_name

导出本地数据库"db_name"并且直接导入到远程数据库192.168.1.6中

$ mysqldump -u root -p --no-create-info \
            --tab=/tmp db_name table_name

导出表table_name作为原始数据到/tmp目录下

mysqldump -uroot -p db_name > dump.sql

导出db_name数据库到dump.sql文件

mysqldump -uroot -p --all-databases > dump_all.sql

导出全部数据库到dump_all.sql文件

2.INTO OUTFILE

mysql> SELECT * FROM db_name.table_name INTO OUTFILE '/var/dump.txt';

导出db_name库table_name表到文件/var/dump.txt中

mysql> SELECT * FROM db_name.table_name INTO OUTFILE '/var/dump.txt'
    -> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    -> LINES TERMINATED BY '\r\n';

导出db_name库table_name表中的数据到/var/dump.txt中,并且以","为分隔符。

导入

1.LOAD DATE

mysql> LOAD DATE LOCAL INFILE 'dump.txt' INTO TABLE table_name;

INTO OUTFILE的逆操作,也可以指定分隔符、格式。

2.mysqlimport

mysqlimport -uroot -p db_name dump.txt --fields-terminated-by=','

也可以导入INTO OUTFULE导出来的文件并指定分隔符。

3.SOURCE

mysql> SOURCE dump.txt;

同上

4.mysqldump

mysqldump -uroot -p db_name < dump.sql


I only do what I like, and this is ideal life.