Мне был предоставлен файл базы данных MySQL, который мне нужно восстановить как базу данных на моем компьютере под управлением Windows Server 2008.
Я пробовал использовать MySQL Administrator, но я получил следующую ошибку:
Выбранный файл был сгенерирован mysqldump и не может быть восстановлен это приложение.
Как мне заставить это работать?
Это должно быть так же просто, как запустить это:
mysql -u <user> -p < db_backup.dump
Если дамп имеет одну базу данных, вам может потребоваться добавить строку вверху файла:
USE <database-name-here>;
Если это дамп многих баз данных, операторы использования уже там.
Чтобы запустить эти команды, откройте командную строку (в Windows) и cd
в каталог, в котором работает исполняемый файл mysql.exe
(вам может понадобиться немного оглянуться на него, это будет зависеть от того, как вы установленный mysql, то есть автономный или как часть пакета, такого как WAMP). После того, как вы находитесь в этом каталоге, вы должны просто набрать команду, как я ее выше.
Если база данных, которую вы хотите восстановить, еще не существует, ее необходимо сначала создать.
В командной строке, если вы находитесь в том же каталоге, который содержит сбрасываемый файл, используйте эти команды (с соответствующими подстановками):
C:\> mysql -u root -p
mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
Вам просто нужно запустить это:
mysql -p -u[user] [database] < db_backup.dump
Если дамп содержит несколько баз данных, вы должны опустить имя базы данных:
mysql -p -u[user] < db_backup.dump
Чтобы запустить эти команды, откройте командную строку (в Windows) и cd
в каталог, в котором работает исполняемый файл mysql.exe
(вам может понадобиться немного оглянуться на него, это будет зависеть от того, как вы установленный mysql, то есть автономный или как часть пакета, такого как WAMP). После того, как вы находитесь в этом каталоге, вы должны просто ввести команду.
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql
посмотрите здесь - шаг 3: таким образом вам не нужен оператор USE
Когда мы создаем файл дампа с mysqldump
, то он содержит большой SQL script для воссоздания содержимого базы данных. Поэтому мы восстанавливаем его с помощью запуска клиента командной строки MySQL:
mysql -uroot -p
(где root
- наше имя администратора для MySQL), и после подключения к базе данных нам нужны команды для создания базы данных и чтения файла:
create database new_db;
use new_db;
\. dumpfile.sql
Детали будут различаться в зависимости от того, какие параметры были использованы при создании файла дампа.
mysql.exe
файл mysql.exe
по умолчанию отсутствует в PATH, но командную mysql.exe
MySQL легко запустить из меню «Пуск».
Запустите команду для входа в БД
# mysql -u root -p
Введите пароль для пользователя Затем создайте новую БД
mysql> create database MynewDB;
mysql> exit
И сделай выход. После этого. Запусти эту Команду
# mysql -u root -p MynewDB < MynewDB.sql
Затем введите в БД и введите
mysql> show databases;
mysql> use MynewDB;
mysql> show tables;
mysql> exit
Вот и все........ Ваш дамп будет восстановлен из одной БД в другую БД
Или есть альтернативный способ восстановления дампа
# mysql -u root -p
Затем введите в БД и введите
mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit
Я получил его для работы после этих шагов & hellip;
Откройте MySQL Administrator и подключитесь к серверу
Выберите "Каталоги" слева
Щелкните правой кнопкой мыши в нижнем левом поле и выберите "Создать новую схему"
Администратор MySQL http://img204.imageshack.us/img204/7528/adminsx9.th.gif увеличить изображение p >
Назовите новую схему (пример: "dbn" )
Новая схема MySQL http://img262.imageshack.us/img262/4374/newwa4.th.gif увеличить изображение
Откройте командную строку Windows (cmd)
Командная строка Windows http://img206.imageshack.us/img206/941/startef7.th.gif увеличить изображение
Сменить каталог в папку установки MySQL
Выполнить команду:
mysql -u root -p dbn < C:\dbn_20080912.dump
& hellip; где "root" - это имя пользователя, "dbn" - это имя базы данных, а "C:\dbn_20080912.dump" - это путь/имя файла mysqldump.dump
MySQL dump restore command line http://img388.imageshack.us/img388/2489/cmdjx0.th.gif увеличить изображение
Наслаждайтесь!
Вы можете попробовать SQLyog "Выполнить SQL script" инструмент для импорта файлов sql/dump.
./mysql -u <username> -p <password> -h <host-name like localhost> <database-name> < db_dump-file
Если вы хотите просмотреть ход дампа, попробуйте это:
pv -i 1 -p -t -e/path/to/sql/dump | mysql -u USERNAME -p DATABASE_NAME
Конечно, вам понадобится "pv". Эта команда работает только на * nix.
В качестве конкретного примера предыдущего ответа:
Мне нужно было восстановить резервную копию, чтобы я мог импортировать/перенести ее в SQL Server. Я установил только MySql, но не зарегистрировал его как услугу или не добавил на свой путь, поскольку мне не нужно его запускать.
Я использовал Windows Explorer, чтобы поместить мой файл дампа в C:\code\dump.sql. Затем откройте MySql из пункта меню "Пуск". Создал БД, затем выполнил команду источника с полным путем следующим образом:
mysql> create database temp
mysql> use temp
mysql> source c:\code\dump.sql
Используя файл дампа 200 Мбайт, созданный в Linux для восстановления в Windows w/mysql 5.5, у меня был больше успеха с
source file.sql
из командной строки mysql, чем с
mysql < file.sql
подход в командной строке, вызвавший некоторый Ошибка 2006 "сервер ушел" (на окна)
Как ни странно, служба, созданная во время установки (mysql), ссылается на файл my.ini, которого не было. Я скопировал "большой" пример файла на my.ini который я уже модифицировал с помощью рекомендованного увеличения.
Мои значения
[mysqld]
max_allowed_packet = 64M
interactive_timeout = 250
wait_timeout = 250
Вы не можете использовать меню Restore в MySQL Admin, если из него не было создано резервное копирование/дамп. Однако это стоит того. Если вы решите "игнорировать ошибки" с помощью флажка для этого, он скажет, что он успешно завершен, хотя он явно выходит из строя только с небольшим количеством импортированных строк... это с дампом, заметьте.
Однострочная команда для восстановления сгенерированного SQL из mysqldump
mysql -u <username> -p<password> -e "source <path to sql file>;"
mysql -u root -p12345678 -e "source /tmp/backup.sql;"
Вы можете запустить сброс и создать команды на вкладке запроса.
DROP DATABASE 'your_db_name';
CREATE SCHEMA 'your_db_name';
Вы также можете использовать меню восстановления в MySQL Administrator. Вам просто нужно открыть резервный файл и нажать кнопку восстановления.