在MySQL Workbench中将数据从一个模式导出到另一个模式

时间:2013-11-13 02:47:31

标签: mysql export schema mysql-workbench

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

4 个答案:

答案 0 :(得分:7)

您可以通过MySQL Workbench中的Data Export创建转储,并在导出到新架构后立即导入。 MySQL Workbench允许覆盖转储中的目标模式。

答案 1 :(得分:3)

如果您遇到将数据导入新架构的麻烦,例如没有获取任何数据,可能需要一种解决方法。我运行了从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,因此您必须等待一段时间才能在编辑器中打开它。此代码应位于文件的开头,因此很容易找到。

我希望它有所帮助!

答案 2 :(得分:1)

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

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

但要小心,如果您的导出中包含旧架构名称的数据,那么您将自行处理。

答案 3 :(得分:0)

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