温馨提示×

MySQL之mysqldump的使用详解

小云
102
2023-08-09 12:49:25
栏目: 云计算

mysqldump是MySQL数据库中一个非常重要的备份工具,它能够将数据库中的数据和结构导出为一个SQL文件,以便在需要的时候进行恢复或迁移。下面是mysqldump的使用详解:

  1. 基本语法

mysqldump [选项] [数据库名] > [导出文件]

选项说明:

-u 用户名:指定连接数据库的用户名

-p 密码:指定连接数据库的密码

-h 主机名:指定连接数据库的主机名

–opt:使用一些优化选项,例如添加LOCK TABLES和/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;等语句

–default-character-set=utf8:指定导出文件的字符集为utf8

  1. 导出整个数据库

mysqldump -u root -p mydatabase > mydatabase.sql

导出整个数据库mydatabase,并将结果保存到mydatabase.sql文件中。

  1. 导出多个数据库

mysqldump -u root -p --databases db1 db2 db3 > mydatabases.sql

导出多个数据库db1、db2和db3,并将结果保存到mydatabases.sql文件中。

  1. 导出指定表

mysqldump -u root -p mydatabase table1 table2 > mytables.sql

导出数据库mydatabase中的表table1和table2,并将结果保存到mytables.sql文件中。

  1. 导出指定表结构

mysqldump -u root -p --no-data mydatabase table1 table2 > mytables.sql

导出数据库mydatabase中的表table1和table2的结构,不包含数据,并将结果保存到mytables.sql文件中。

  1. 导出指定表数据

mysqldump -u root -p --no-create-info mydatabase table1 table2 > mytables.sql

导出数据库mydatabase中的表table1和table2的数据,不包含表结构,并将结果保存到mytables.sql文件中。

  1. 导出指定查询结果

mysqldump -u root -p mydatabase --where=“id > 100” > mydata.sql

导出数据库mydatabase中满足条件"id > 100"的查询结果,并将结果保存到mydata.sql文件中。

  1. 导出表结构和数据到不同文件

mysqldump -u root -p mydatabase --no-create-info > mydatabase_data.sql

mysqldump -u root -p mydatabase --no-data > mydatabase_structure.sql

分别将数据库mydatabase的表结构和数据导出到mydatabase_structure.sql和mydatabase_data.sql文件中。

  1. 导出压缩文件

mysqldump -u root -p mydatabase | gzip > mydatabase.sql.gz

导出数据库mydatabase,并将结果压缩为mydatabase.sql.gz文件。

  1. 导入导出文件

导入:mysql -u root -p mydatabase < mydatabase.sql

导出:mysqldump -u root -p mydatabase > mydatabase.sql

0