我在Windows XP上安装了MariaDB本地安装
我创建了一个空数据库db_y
,我希望用数据库db_x
的表填充,我从MySQL实例(使用HeidiSQL)导出为转储文件。
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
但是真诚地,我更喜欢使用新名称创建一个新数据库。
谢谢你的帮助。
答案 0 :(得分:21)
考虑您有两个数据库:source_db
和target_db
。如果您想将数据库内容从source_db
复制到target_db
,您应该按照HeidiSQL中的步骤进行操作:
source_db
,然后选择:将数据库导出为SQL 。target_db
以及全部。
答案 1 :(得分:2)
使用HeidiSQL可以轻松地将数据库从一个实例传输到另一个实例:
答案 2 :(得分:1)
试试MySQL Workbench。它是由MySQL制作的,我发现它非常适合备份数据库并以不同的名称恢复它。
答案 3 :(得分:1)
HeidiSQL的导出对话框最近得到了一个名为“Max INSERT size”的新选项。这可以控制批量/多个INSERT命令中的行数。
此外,此导出对话框还有documentation。