Как загрузить файл mysqldump.sql в базу данных MySQL в Windows Vista
Я пытаюсь переместить базу данных MySQL с Linux-машины на одну из Windows Vista.
Используя mysqldump, я получил файл .sql
, который я переместил на компьютер Windows. Что дальше?
Если бы я перешел на другую машину Linux, можно было бы это сделать:
mysql -u username -p databasename < dumpfile.sql
Кто-нибудь знает о аналогичном вызове, который работает из командной строки Windows? Или есть инструменты для этого?
Когда я пытаюсь использовать этот тип команды из командной строки Windows, я получаю:
'mysql' is not recognized as an internal or external command
Я также пробовал:
mysql> source C:\Stuff\dumpfile.sql
Это дало:
Failed to open file 'C:\Stuff\dumpfile.sql', error: 2
Ответы
Ответ 1
Этот же тип команды должен работать как в Windows, так и в Linux. Вы пытались запустить эту команду? Какие типы сообщений об ошибках вы получаете.
Я только что протестировал на своей локальной машине MySQL с Windows XP. Единственная причина, по которой я мог видеть, что это не работает, заключается в том, что MySQL не на вашем пути. Если это не на вашем пути, вам нужно указать весь путь к исполняемому файлу MYSQL или запустить его из каталога, в котором он хранится. Вы также можете добавить исполняемый файл к пути, если вы планируете использовать исполняемый файл MySQL на регулярно.
Ответ 2
Смотрите этот комментарий Джеффа Зохраба в документации по MySQL:
Для пользователей Windows используйте косые черты для разделителей путей. Вам также не нужно указывать путь к файлу в кавычках. Например, следующие работы:
mysql> source C:/Documents and Settings/My name here/My Documents/script.sql;
На всякий случай, для Linux:
mysql> source /path/to/script.sql;
Ответ 3
Если вы получаете "ошибку 2", это потому, что команда была выполнена, поэтому это не потому, что MysQL не найден.
Ошибка 2 заключается в том, что вы должны использовать этот путь: 'C:/Stuff/dumpfile.sql'
вместо 'C:\Stuff\dumpfile.sql'
Вы также можете попробовать 'C:\\Stuff\\dumpfile.sql'
, но unix, как путь, это путь.
Но самый простой способ:
Если файл .sql находится в каталоге c:\temp, а MySQL установлен по умолчанию:
C:\temp>"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe" -u root -p -h localhost myDatabase < myDatabaseDump.sql
С уважением.
Ответ 4
Если вы не против делать это в интерактивном режиме, вы можете использовать команду source
в оболочке mysql, за которой следует имя файла. В противном случае я считаю, что Kibbee прав о трубах, работающих в cmd.exe
.
Ответ 5
Вы можете добавить переменную окружения в Windows XP, протестированную и подтвержденную для Vista через setx.exe в папку, содержащую mysql.exe, mysqldump.exe и т.д. (В этом примере используется MySQL Workbench и просто изменяются путь к вашему выбору.
setx path "%PATH%;C:\Program Files\MySQL\MySQL Workbench 5.2 CE"