mysqldump是MySQL数据库中一个非常重要的备份工具,它能够将数据库中的数据和结构导出为一个SQL文件,以便在需要的时候进行恢复或迁移。下面是mysqldump的使用详解:
mysqldump [选项] [数据库名] > [导出文件]
选项说明:
-u 用户名:指定连接数据库的用户名
-p 密码:指定连接数据库的密码
-h 主机名:指定连接数据库的主机名
–opt:使用一些优化选项,例如添加LOCK TABLES和/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;等语句
–default-character-set=utf8:指定导出文件的字符集为utf8
mysqldump -u root -p mydatabase > mydatabase.sql
导出整个数据库mydatabase,并将结果保存到mydatabase.sql文件中。
mysqldump -u root -p --databases db1 db2 db3 > mydatabases.sql
导出多个数据库db1、db2和db3,并将结果保存到mydatabases.sql文件中。
mysqldump -u root -p mydatabase table1 table2 > mytables.sql
导出数据库mydatabase中的表table1和table2,并将结果保存到mytables.sql文件中。
mysqldump -u root -p --no-data mydatabase table1 table2 > mytables.sql
导出数据库mydatabase中的表table1和table2的结构,不包含数据,并将结果保存到mytables.sql文件中。
mysqldump -u root -p --no-create-info mydatabase table1 table2 > mytables.sql
导出数据库mydatabase中的表table1和table2的数据,不包含表结构,并将结果保存到mytables.sql文件中。
mysqldump -u root -p mydatabase --where=“id > 100” > mydata.sql
导出数据库mydatabase中满足条件"id > 100"的查询结果,并将结果保存到mydata.sql文件中。
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文件中。
mysqldump -u root -p mydatabase | gzip > mydatabase.sql.gz
导出数据库mydatabase,并将结果压缩为mydatabase.sql.gz文件。
导入:mysql -u root -p mydatabase < mydatabase.sql
导出:mysqldump -u root -p mydatabase > mydatabase.sql