Восстановление базы данных MySQL
Я создал файл с именем ab.sql, используя утилиту mysqldump базы данных с именем library. Работало нормально. Теперь я пытаюсь восстановить его с помощью mysqlimport. Моя база данных уже существует. Но я хочу переопределить это. Я использую команду
mysqlimport -uroot -p**** library D:/ab.sql
в командной строке, но выдает ошибку, которая гласит:
mysqlimport: ошибка: 1146, таблица "library.ab" не существует, при использовании таблицы: ab
отчаянно нужна помощь
2 ответа
mysqlimport читает строки из текстового файла в базу данных. mysqldump выводит файл, полный операторов SQL, а не простых строк. Вы можете запустить эти операторы SQL, используя:
mysql -u root < D:/ab.sql
В зависимости от ваших параметров mysqldump, это может удалить существующие данные в вашей базе данных. Если вы не уверены, я бы выбрал "drop" и "delete", чтобы убедиться, что все выглядит нормально.
Марк Б прокомментировал: " Ваша ошибка не распознана", либо она не установлена, либо не находится на вашем пути.
Как "Распознать" mysql
Если у вас установлен MySQL, скажем, XAMPP 1.7.3 в Windows 7, установленный в C:\xampp
, вам нужно будет открыть командную строку Windows (cmd.exe
) и измените свой путь так, чтобы MySQL был включен:
cd C:\xampp\mysql\bin
Затем вы добавили бы команду из ответа Фруди или какой-нибудь вариант, например:
C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} < path/to/file/ab.sql
Если вы переместите файл базы данных (то есть тот, который вы изначально экспортировали с помощью mysqldump) в C:\xampp\mysql\bin
перед запуском вышеуказанной команды вы можете оставить путь к файлу базы данных, оставив только:
C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} < ab.sql
Затем вас попросят ввести пароль пользователя базы данных. Затем команда должна выполнить. Вы должны увидеть что-то вроде этого, когда закончите:
Надеюсь, что это помогает и является точным, с небольшой помощью от Stackru, вот как это работает для меня. Удачи!