Восстановление базы данных 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, так оно и работает для меня. Удачи!