繁体   English   中英

Mysql导入导出的sql文件

[英]Mysql import an exported sql file

我正在尝试从其他站点还原备份的数据库。

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

information_schema是mysql系统的数据库部分,你不应该替换这个数据库...

您无法恢复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;
  • 在OS中, mkdir /var/lib/mysql/matt
  • 在mysql SHOW DATABASES; SELECT schema_name FROM information_schema.schemata;

数据库matt立即实现。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM