【问题标题】:MySQL Backup File - already has CREATE DATABASE statementsMySQL 备份文件 - 已经有 CREATE DATABASE 语句
【发布时间】:2018-01-26 14:27:42
【问题描述】:

我创建的 MySQL 备份文件是使用 --all-databases 转储的,其中包含“CREATE DATABASE IF NOT EXISTS”语句。

我现在有一个全新的 MySQL 实例,我想将该转储导入回(其中根本没有数据库)。

在不指定数据库的情况下重新加载此文件的正确方法是什么,或者这甚至是不可能的。我必须先创建所有数据库还是只创建一个数据库才能正确执行命令?

我能找到的所有示例都首先指定“mysql -u xxx [database]

【问题讨论】:

    标签: mysql database


    【解决方案1】:

    请注意IF NOT EXISTS 子句。备份文件准备好处理两种情况:当数据库已经存在时(您手动创建了它,或者您从现有数据库中删除了所有表并希望从备份中恢复它)以及当您要将备份导入到数据库尚不存在的新服务器。

    您只需在命令行终端上运行mysql -h {host} -u {user} -p < {backupfile},您的数据库就会重新启动并运行。

    【讨论】:

    • 酷。谢谢你的提示。我最终使用了“mysql -u root -p -e 'source ...'”,因为powershell保留了“
    猜你喜欢
    • 1970-01-01
    • 2017-05-03
    • 2014-05-09
    • 2010-11-16
    • 2014-12-16
    • 2015-08-30
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多