如何使用备份恢复 information_schema 数据库
Posted
技术标签:
【中文标题】如何使用备份恢复 information_schema 数据库【英文标题】:How to restore the information_schema database with a backup 【发布时间】:2012-06-14 03:18:20 【问题描述】:我从家里的 WAMP 服务器 mysql 数据库中有一个备份,我需要在我的工作 WAMP 设置中安装它。
我目前无权访问我的原始数据库,因此不能只导出特定的表。
这里是 phpmyadmin 消息:
SQL query:
--
-- Database: `information_schema`
--
CREATE DATABASE `information_schema` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
MySQL said:
#1044 - Access denied for user 'root'@'localhost' to database 'information_schema'
information_schema 数据库似乎被锁定,并且在 phpmyadmin 中恢复失败。在 MYSQL Workbench 中,它忽略“访问被拒绝”消息继续备份,但中途崩溃。
我曾尝试删除 sql 文件中的 database_schema 行,但它看起来像一堆乱七八糟的文本,不知道如何删除它。
另一件事是我真的需要它吗?或者我可以删除它。我不太确定那里存储了哪些信息。
谢谢。
【问题讨论】:
可能是您的备份文件太大导致工作台崩溃? 我认为不会。只有少量测试信息,.sql文件750kb。 【参考方案1】:在@GeoPhoenix 的帮助下,我自己设法做到了。
我在 Dreamweaver 中打开了 sql 文件,然后发现“-- -- 数据库:" 使用 ctrl-F 删除所有信息直到下一个"-- -- Database:" 部分并重复该过程,直到留下我需要保留的信息。
感谢大家的帮助。
【讨论】:
【参考方案2】:MySQLINFORMATION_SCHEMA 数据库是系统数据库:
INFORMATION_SCHEMA 提供对数据库元数据、信息的访问 有关 MySQL 服务器的信息,例如数据库或表的名称, 列的数据类型或访问权限。其他条款 有时用于此信息的是数据字典和系统 目录。
在创建或修改数据库和表时被 MySQL 修改。 您无法修改 INFORMATION_SCHEMA 数据库:
虽然您可以选择 INFORMATION_SCHEMA 作为默认数据库 使用 USE 语句,只能读取表的内容,不能读取 对它们执行 INSERT、UPDATE 或 DELETE 操作。
正常的 MySQL 导出实用程序在导出数据库时会忽略系统表,您根本不应该导入此数据库。只需导入“用户”数据库; MySQL 将自行构建/更新系统数据库。
【讨论】:
我会,但我目前无法访问我的原始数据库。我需要知道如何从 .sql 文件中删除 information_schemas 或以其他方式省略它们。 去掉CREATE DATABASE..
的行
您不应该直接在该表中写入任何内容。请参阅编辑后的答案。
我知道我不需要。从 MYSQL 工作台导出时,我不小心选择了所有表。不过谢谢你的信息。
对于没有这个特殊“文件编辑”问题的所有其他人来说,这是更好的答案。以上是关于如何使用备份恢复 information_schema 数据库的主要内容,如果未能解决你的问题,请参考以下文章