生成含 create database 语句的 sql 转储
在使用
navicat
的“转储 sql 文件”功能时,它仅导出表和数据,而不会创建数据库的 sql 语句。这是一个常见的痛点,因为它增加了手动创建数据库和还原备份的复杂性。
解决方案:使用mysqldump
为了完整地备份 mysql 数据库,包括创建数据库的语句,可以使用 mysqldump 工具。
MySQL(Linux)
MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。
下载
步骤:
使用 -b 参数运行 mysqldump,如下所示:
-u:指定用户
-p:提示输入密码
-b:生成创建数据库语句
生成的 test.sql 文件将包含创建数据库的语句,如下所示:
注意:
确保具有足够的用户权限来运行 mysqldump。
test.sql 文件中的 create database 语句将使用与原始数据库相同的字符集和排序规则。
mysqldump -utest -p -b test > test.sqlCREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
USE `test`;