Восстановление базы данных MySQL

Я создал файл с именем ab.sql, используя утилиту mysqldump базы данных с именем library. Он работал нормально. Теперь я пытаюсь восстановить его с помощью mysqlimport. Моя база данных уже существует. Но я хочу переопределить его. я использую команда

mysqlimport -uroot -p**** library D:/ab.sql

в командной строке, но он дает сообщение об ошибке,

mysqlimport: Ошибка: 1146, таблица "library.ab" не существует при использовании таблицы: ab

отчаянно нужна помощь.

Ответ 1

mysqlimport считывает строки из текстового файла в базу данных. mysqldump выводит файл, полный операторов SQL, а не простых строк. Вы можете запускать эти SQL-выражения, используя:

mysql -u root < D:/ab.sql

В зависимости от ваших параметров mysqldump это может удалить существующие данные в вашей базе данных. Если вы не уверены, я бы grep для "drop" и "delete", чтобы убедиться, что он выглядит нормально.

Ответ 2

Marc B прокомментировал: Учитывая вашу "не признанную" ошибку, либо она не установлена, либо нет в вашем пути.

Как "распознать" mysql

Если у вас установлен MySQL, скажем, XAMPP 1.7.3 в Windows 7, установленном на C:\xampp, вам нужно будет открыть командную строку Windows (cmd.exe) и изменить свой путь, чтобы включить MySQL:/p >

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

Затем вас попросят ввести пароль пользователя базы данных. Затем команда должна выполнить. Вы должны увидеть что-то подобное, когда закончите:

windows cmd mysql import

Надеюсь, что это помогает и является точным, с небольшой помощью от StackOverflow, так оно и работает для меня. Удачи!