Mysql导入导出的sql文件

时间:2012-01-06 20:59:24

标签: php mysql

我正在尝试从其他网站恢复备份的数据库。

.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?

3 个答案:

答案 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指定,请执行以下操作:

  • 在mysql SHOW DATABASES;SELECT schema_name FROM information_schema.schemata;
  • 中 操作系统中的
  • mkdir /var/lib/mysql/matt
  • 在mysql SHOW DATABASES;SELECT schema_name FROM information_schema.schemata;

数据库matt立即实现。

对于重新加载的每个数据库和表,这都适用。

答案 2 :(得分:0)

如果可能,我建议不要使用PHPMyAdmin。相反,应该使用MySQL命令行工具。

特别是,您应该学会使用旨在促进此过程的mysqlimport工具。