我正在尝试从其他网站恢复备份的数据库。
.sql文件的开头包含
--
-- Database: `information_schema`
--
CREATE DATABASE `information_schema` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `information_schema`;
我收到错误
1044 - 用户'root'@'localhost'拒绝访问数据库'information_schema'
来自phpmyadmin。 如果我注释掉数据库的创建,它仍然说我不能使用information_schema。
我的所有三个根都设置为ALL PRIVILEGES
如何将sql文件导回phpmyadmin?
答案 0 :(得分:1)
information_schema是mysql系统的数据库部分,你不应该替换这个数据库......
答案 1 :(得分:1)
您无法恢复information_schema。它是内部数据库,其中mysql保留所有其他数据库的所有模式。要恢复它,请恢复所有其他数据库,一切都将重新进入。
编辑RolandoMySQLDBA 2012-01-06 16:15 EDT
INFORMATION_SCHEMA中的每个表都是临时表。
information_schema.schemata
的示例mysql> show create table information_schema.schemata\G
*************************** 1. row ***************************
Table: SCHEMATA
Create Table: CREATE TEMPORARY TABLE `SCHEMATA` (
`CATALOG_NAME` varchar(512) NOT NULL DEFAULT '',
`SCHEMA_NAME` varchar(64) NOT NULL DEFAULT '',
`DEFAULT_CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT '',
`DEFAULT_COLLATION_NAME` varchar(32) NOT NULL DEFAULT '',
`SQL_PATH` varchar(512) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8
1 row in set (0.02 sec)
/ var / lib / mysql
中没有INFORMATION_SCHEMA的显示文件夹要证明information_schema已恢复为Mathieu Dumoulin指定,请执行以下操作:
SHOW DATABASES;
或SELECT schema_name FROM information_schema.schemata;
mkdir /var/lib/mysql/matt
SHOW DATABASES;
或SELECT schema_name FROM information_schema.schemata;
数据库matt
立即实现。
对于重新加载的每个数据库和表,这都适用。
答案 2 :(得分:0)
如果可能,我建议不要使用PHPMyAdmin。相反,应该使用MySQL命令行工具。
特别是,您应该学会使用旨在促进此过程的mysqlimport工具。