mysql 数据导入导出

来源:互联网 发布:图书管理数据库er图 编辑:程序博客网 时间:2024/06/17 14:57


导出

1,导出全库备份到本地的目录 (-A

mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines--default-character-set=utf8 --lock-all-tables --add-drop-database -A > database.sql

例:mysqldump -uroot -p --routines--default-character-set=utf8 --lock-all-tables -A > database.sql

 

2,导出指定库到本地的目录

mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines--default-character-set=utf8 --databases mysql > db.sql

例:mysqldump -uroot -p --routines--default-character-set=utf8 --lock-all-tables  mysql > mysql.sql

 

3,导出某个库的表到本地的目录(--tables)

mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 –routines  --default-character-set=utf8 --tables mysqluser> db.table.sql

例:mysqldump -uroot -p --routines--default-character-set=utf8 --tables mysql user>mysql.user.sql

#mysql  user(数据库名表名)

    

4,导出某个库的所有表结构,不含数据(--no-data)

mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines--default-character-set=utf8 --no-data --databases mysql > db.nodata.sql

例: mysqldump -uroot -p --routines--default-character-set=utf8  --no-data  mysql >db_nodata.sql

 

5,导出某个查询sql的数据为txt格式文件到本地的目录

mysqldump -uroot -ptestdb Student -w 'nid>3 and nid<5' > 1.sql

 

关于mysqldump参数

-A, --all-databases               全库备份

-R, --routines                    备份存储过程和函数

--default-character-set=utf8      设置字符集

-l, --lock-tables                  锁定所有读取的表

-x, --lock-all-tables              锁定所有的表

-d, --no-data                    在每次执行建表语句之前,先执行DROP TABLE IFEXIST语句

-n, --no-create-db               不输出CREATEDATABASE语句(-n)

-t, --no-create-info              不输出CREATE TABLE语句(-t)

-B, --databases                  将后面的参数都解析为库名

--tables                         第一个参数为库名 后续为表名

 

 

 

导入

1,恢复全库数据到MySQL,因为包含mysql库的权限表,导入完成需要执行FLUSHPRIVILEGES;

第一种方法:

mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8< db.all.sql

 

第二种方法:

登录MySQL,执行source命令,后面的文件名要用绝对路径.

mysql> use testdb;

mysql> source/tmp/testtable.sql 

 

 

2,LOADDATA INFILE 导入

需先配置my.cnf文件,指定secure_file_priv参数

secure_file_priv=/data/tmp

 

mysql> show variables like "%secure%";

+--------------------------+------------+

| Variable_name            | Value      |

+--------------------------+------------+

| require_secure_transport |OFF        |

| secure_auth              | ON         |

| secure_file_priv         | /data/tmp/ |

+--------------------------+------------+

3 rows in set (0.00 sec)

 

3,恢复MySQL服务器上面的txt格式文件

mysql>  load data infile '/data/tmp/2.txt' into tablestudent FIELDS TERMINATED BY ',';

# FIELDS TERMINATED指定分隔符

0 0