18

我在 Windows XP 上本地安装了 MariaDB。
我创建了一个空数据库,我想用我从 MySQL 实例(使用 HeidiSQL)导出为转储文件db_y的数据库表填充该数据库。当我将转储文件 db_x.sql 导入 MariaDB 实例时:db_x

c:\ > mysql -u root -h localhost -p db_y < "X:/archive/db_x.sql"

我得到以下信息:

- MariaDB-inst
    +db_x  
    +db_y

db_y保持为空并db_x从转储文件中添加(db_x 是我导出的原始数据库的数据库名称)。

我必须做什么才能获得所需的数据库名称?
我以为我可以更改 db_x.sql 文件中的数据库名称,但我不想打开这么大的文件。
我可以更改上面的导入命令以更改数据库名称吗?
我也对这种解决方案感兴趣:

CREATE DATABASE y FROM DATABASE x

这样的事情可能吗?
在网上我找到了不推荐的解决方案 RENAME DATABASE 和 ALTER DATABASE db_x UPGRADE DATA DIRECTORY NAME 但真诚地说,我更喜欢用新名称创建一个新数据库。谢谢你的帮助。

4

4 回答 4

38

假设您有两个数据库:source_dbtarget_db. 如果要将数据库内容从其中复制source_dbtarget_db您应该在 HeidiSQL 中执行以下操作:

  1. 右键单击source_db然后选择:Export database as SQL
  2. 现在更改Output的值并选择Database
  3. 将出现一个选择框,选择即可target_db

在此处输入图像描述

于 2015-05-30T04:17:53.547 回答
4

有一种使用 HeidiSQL 将数据库从一个实例转移到另一个实例的简单方法:

  1. 在实例 y 中创建数据库 db_y
  2. 单击转储图标(或右键单击)。实例 y 应该被激活。
  3. 在“输出”选项中选择数据库
  4. 在“数据库”选项中选择 db_y
  5. 选择左侧的实例 x 和数据库 x
  6. 出口
于 2013-05-21T06:40:40.363 回答
1

试试 MySQL 工作台。它是由 MySQL 制作的,我发现它非常适合备份数据库并以不同的名称恢复它。

http://dev.mysql.com/downloads/workbench/

于 2013-02-21T15:36:36.050 回答
1

HeidiSQL 的导出对话框最近有了一个名为“Max INSERT size”的新选项。这控制批量/多个 INSERT 命令中的行数。

此外,还有此导出对话框的文档

于 2015-06-14T14:10:44.353 回答