有没有办法将表和数据从一个模式导出到另一个模式?管理导入/导出选项要求我选择要连接的服务器,该服务器显示为空白。我目前已连接到我学校租用的服务器,专门用于此类,因此我没有任何管理员权限。
答案 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在数据库操作中直接具备此功能。