需要在MYSQL V5.1.11中的其他模式中存储sql转储

时间:2011-11-03 12:06:52

标签: mysql database database-schema database-restore

我遇到了备份的情况(包含插入查询的sql脚本) 其中一个环境中的表,我希望在MYSQLClient版本5.1.11中的其他模式中还原该备份。问题是文件太大(200MB)。

备份文件包含“use schema_name”查询,因此,如果我尝试恢复它,它将在该脚本中提到的schema_name中恢复。

我都不能编辑该文件,因为它太大了,编辑后没有保存。

注意:上面的架构意味着DATABASE。

请建议我一个方法。

感谢。

1 个答案:

答案 0 :(得分:1)

如果你真的无法编辑转储文件(不知道你正在使用什么操作系统但是如果它是Linux那么你可以尝试使用类似sed的东西来替换模式名称或{{ 3}})然后你可以尝试:

  1. 在新数据库中创建原始架构
  2. 将转储文件运行到新数据库中的原始架构
  3. 在新数据库中创建新架构
  4. 将每个表从原始架构重命名为新架构。
  5. 删除原始架构
  6. 您可以使用以下脚本生成脚本以将一个架构中的所有表移动到另一个架构:

    创建脚本以将所有表从“FromSchema”移动到“ToSchema”:

    select concat('RENAME TABLE ',table_schema,'.',table_name,' TO ','ToSchema','.',table_name,';')
    from information_schema.tables t
    where t.table_schema = 'FromSchema';
    
    祝你好运!