1、简介
mysqldump命令 是mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中。
2、语法
mysqldump(选项)
选项
--add-drop-database:每个数据库创建之前添加drop数据库语句
--add-drop-table:在每个创建数据库表语句前添加删除数据库表的语句;
--add-locks:在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(默认为打开状态,使用--skip-add-locks取消选项)
--all-databases(-A):备份MySQL服务器上的所有数据库;
--all-tablespaces(-Y):导出全部表空间;
--no-tablespaces(-y):不导出任何表空间信息;
--comments:添加注释信息,默认为打开,可以用--skip-comments取消;
--compact:压缩模式,产生更少的输出;
--complete-insert:输出完成的插入语句,这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败;
--databases:指定要备份的数据库,参数后面所有名字参量都被看作数据库名;
--default-character-set:指定默认字符集;
--force:当出现错误时仍然继续备份操作;
--host(-h):指定要备份数据库的服务器;
--lock-tables(-l):备份前,锁定所有数据库表;
--no-data(-d):不导出任何数据,只导出数据库表结构;
--no-create-db(-n):禁止生成创建数据库语句;
--no-create-info(-t):禁止生成创建数据库库表语句;
--password(-p):连接MySQL服务器的密码;
--port(-P):MySQL服务器的端口号;
--user(-u):连接MySQL服务器的用户名。
3、使用
测试数据库信息
host:127.0.0.1
port:3306
用户名:root
密码:test
数据库:industry_kg
3.1 导入
方式一:使用mysql命令
示例:mysql -h127.0.0.1 -uroot -ptest --default-character-set=utf8 industry_kg < D:\data\project.sql;
方式二:进入mysql使用source命令
示例:source project.sql;
3.2 导出
导出数据库(结构+数据)
语法:mysqldump -h 主机名 -u 用户名 -p 密码 数据库名 > 导出的文件名
示例:mysqldump -h127.0.0.1 -uroot -ptest industry_kg > industry_kg.sql;
导出数据库(只有结构)
语法:mysqldump -d -h 主机名 -u 用户名 -p 密码 数据库名 > 导出的文件名
示例:mysqldump -d -h127.0.0.1 -uroot -ptest industry_kg > industry_kg.sql;
导出表(结构+数据)
Linux环境
语法:mysqldump -t -h 主机名 -u 用户名 -p 密码 数据库名 表名> 导出的文件名
示例1:mysqldump -t -h127.0.0.1 -uroot -ptest industry_kg project > project.sql;
示例2(带条件):mysqldump -t -h127.0.0.1 -uroot -ptest industry_kg project --where="is_deleted = 0 and id = 100012" >D:\data\project_100012.sql;
Windows环境(结尾没有分号;)
示例1:mysqldump -t -h127.0.0.1 -uroot -ptest industry_kg project > project.sql
导出表(只有结构)
语法:mysqldump -d -t -h 主机名 -u 用户名 -p 密码 数据库名 表名> 导出的文件名
示例:mysqldump -d -t -h127.0.0.1 -uroot -ptest industry_kg project > project.sql;
4、备注
导入导出默认端口是3306