Как восстановить базу данных information_schema с помощью резервной копии

У меня есть резервная копия из базы данных MYSQL сервера WAMP из дома, и мне нужно установить ее на моей рабочей установке 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 он продолжает резервное копирование, игнорируя сообщения «отказано в доступе», но на полпути происходит сбой.

Я попытался удалить строки database_schema в файле sql, но это просто похоже на беспорядок текста, и я не могу понять, как его удалить.

Другое дело, нужно ли оно мне? Или можно удалить. Я не слишком уверен, какая информация там хранится.

Спасибо.


person joshkrz    schedule 11.06.2012    source источник
comment
Может быть, ваш файл резервной копии слишком велик, что вызывает сбой верстака?   -  person Leri    schedule 11.06.2012
comment
Я не думаю, что это было бы. Существует лишь небольшое количество тестовой информации, а размер файла .sql составляет 750 КБ.   -  person joshkrz    schedule 11.06.2012


Ответы (2)


База данных MySQL INFORMATION_SCHEMA является системной базой данных:

INFORMATION_SCHEMA предоставляет доступ к метаданным базы данных, информации о сервере MySQL, такой как имя базы данных или таблицы, тип данных столбца или права доступа. Другими терминами, которые иногда используются для этой информации, являются словарь данных и системный каталог.

Он изменяется MySQL при создании или изменении баз данных и таблиц. Вы не можете изменять базу данных INFORMATION_SCHEMA:

Хотя вы можете выбрать INFORMATION_SCHEMA в качестве базы данных по умолчанию с помощью инструкции USE, вы можете только читать содержимое таблиц, но не выполнять над ними операции INSERT, UPDATE или DELETE.

Вменяемая утилита экспорта MySQL будет пропускать системные таблицы при экспорте баз данных, и вам вообще не следует импортировать эту базу данных. Просто импортируйте «пользовательские» базы данных; MySQL сам создаст/обновит системные базы данных.

person Salman A    schedule 11.06.2012
comment
Я бы хотел, но в настоящее время у меня нет доступа к моей исходной базе данных. Мне нужно знать, как удалить information_schemas из файлов .sql или опустить их каким-либо другим способом. - person joshkrz; 11.06.2012
comment
Удалите строку с CREATE DATABASE .. - person Gntem; 11.06.2012
comment
Вы НЕ должны писать что-либо в этой таблице напрямую. Смотрите отредактированный ответ. - person Salman A; 11.06.2012
comment
Я знаю, что мне не нужно. Я случайно выбрал все таблицы при экспорте из рабочей среды MYSQL. Спасибо за информацию. - person joshkrz; 11.06.2012
comment
Это лучший ответ для всех остальных, у которых нет этой конкретной проблемы с редактированием файлов. - person hgoebl; 09.01.2014

Мне удалось сделать это самому с помощью @GeoPhoenix.

Я открыл файл sql в Dreamweaver, затем нашел "-- -- Database:" с помощью Ctrl-F и удалил всю информацию до следующей части "-- -- Database:" и повторил процесс, пока не остался с информацией, которую я необходимо сохранить.

Спасибо за вашу помощь.

person joshkrz    schedule 11.06.2012