原文网址:MySQL命令--使用mysqldump导出导入数据库_IT利刃出鞘的博客-CSDN博客

简介

本文介绍mysql使用mysqldump命令导出导入数据库的方法。

本方法是导入导出数据库最完美的方法。其他用Navicat可视化的方法全都不完美,经常会有导入失败的问题。

导出

格式:

mysqldump -h[主机IP] -p[密码] -u[用户名] -P[端口号]  数据库名  表名 > 导出的文件名.sql

 如果不输入密码,那么在回车之后会提示你输入密码。

​1. 数据库级

导出单个db结构和数据

mysqldump -uroot -p mydb > /bak/mydb.sql

仅导出单个db结构

mysqldump -uroot -p mydb -d > /bak/mydb.sql

仅导出单个db数据

mysqldump -uroot -p mydb -t > /bak/mydb.sql

导出多个db结构和数据(--databases参数,数据,结构单独导出方法同上)

mysqldump -uroot -p --databases db1 db2 > /bak/mydb.sql

导出所有db结构和数据

mysqldump -uroot -p -A > /bak/mydb.sql

仅导出所有db结构

mysqldump -uroot -p -A -d > /bak/mydb.sql

仅导出所有db数据不导表结构

mysqldump -uroot -p -A -t > /my/mydb.sql

2. 表级

导出指定db某张表结构及数据(数据,结构单独导出方法同上)

mysqldump -uroot -p dbname test > db.sql

导出指定db中多张表(test1,test2,test3)结构及数据

mysqldump -uroot -p dbname test1 test2 test3 > db.sql

排除部分表,导出DB中其余表结构和数据

mysqldump -uroot -p mydb --ignore-table=mydb.test1 --ignore-table=mydb.test2 > /my/mydb.sql

指定where条件导出表的部分数据

mysqldump -uroot -w "id=6032" -p db_name  tbl_name > /tmp/where.sql

导入

导入用户需要有执行备份文件中语句的权限(ddl、dml等)。

格式

​mysql -h[主机IP] -p[密码] -u[用户名] -P[端口号]  数据库名  < 导出的文件名.sql

 如果不输入密码,那么在回车之后会提示你输入密码。 

1. 导入方法

系统命令行方法

mysql -uroot -p mydb < mydb.sql

mysql命令行source方法

mysql -uroot -p
source /my/mydb.sql

2. 导入示例

导入所有数据库

mysql -uroot -p < /my/all.sql

导入单个数据库

mysql -uroot -p mydb < /my/mydb.sql

导入单个数据库的多个表

mysql -uroot -p mydb < /my/multables.sql

导入多个数据库(一个备份文件里有多个数据库的备份,此时不需要指定数据库)

mysql -uroot -p < /my/muldbs.sql

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐