强制 mysqldump 使用创建数据库(如果不存在)



我一直在浏览MariaDB的mysqldump文档。

如何强制mysqldump输出CREATE DATABASE IF NOT EXISTS

我管理的最好的方法是添加--databases标志:

mysqldump -u root -p --skip-set-charset --databases --default-character-set=latin1 database_name > /home/database_name.sql

但是,这将输出以下内容:

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `database_name` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci */;

我不能把IF NOT EXISTS注释掉。我错过了什么?

另外:因为有人需要对此发表评论:latin1字符集是No mapping for the Unicode character exists in the target multi-byte code page错误消息的修复程序,如果您还遵循两个终端命令,则可以通过此答案解决。

如果您使用 MySQL 版本 <3.23.12(在上个千年发布),则注释/*!32312 IF NOT EXISTS */仅被解释为注释。

有关更多详细信息,请查看MariaDB知识库中的"注释语法"。

相关内容

最新更新