10

有没有办法将表和数据从一个模式导出到另一个模式?管理导入/导出选项要求我选择要连接的服务器,该服务器显示为空白。我目前连接到我学校租用的服务器,专门用于这个课程,所以我没有任何管理员权限。

4

4 回答 4

9

您可以通过 MySQL Workbench 中的数据导出创建转储,并在导出后立即将其导入新模式。MySQL Workbench 允许覆盖转储中的目标模式。

于 2013-11-13T08:52:49.200 回答
4

如果您在将数据导入新架构时遇到问题,例如无法在其中获取任何数据,则可能需要一种解决方法。我将模式从 MySQL 工作台导出到 .sql 文件,然后将其导入到不同的模式中,问题是导出的 .sql 文件维护了以前的模式。

因此,如果您在 .sql 导出文件的开头找到它:

CREATE DATABASE  IF NOT EXISTS `old_schema` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `old_schema`;

用这个替换它:

CREATE DATABASE  IF NOT EXISTS `new_schema` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `new_schema`;

那会成功的。在某些情况下,您的 .sql 文件可能有几百 MB,因此您必须稍等片刻,直到它在您的编辑器中打开。这段代码应该在文件的开头,所以很容易找到。

我希望它有帮助!

于 2015-04-27T14:50:16.887 回答
1

在 6.0 及更高版本中,看起来转储在您命名为转储的目录中写出单个表。所有模式和表名都默认为您从中导出的模式(如您所述)。为了便于导入新模式,只需在转储目录中运行以下命令:

find . -type f -exec sed -i 's/your_export_schema/your_different_schema_name/g' {} \;

不过要小心,如果您的导出数据中有旧的模式名称,您会很自责。

于 2014-04-14T18:57:30.660 回答
0

我注意到问题是关于 Workbunch,但请注意 phpMyAdmin 在数据库操作中直接具有此功能。

于 2015-04-19T15:49:33.740 回答