Как я могу загрузить файл mysqldump .sql в базу данных MySQL в Windows Vista - PullRequest
38 голосов
/ 21 августа 2009

Я пытаюсь переместить базу данных 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

Ответы [ 5 ]

17 голосов
/ 21 августа 2009

Этот же тип команды должен работать как в Windows, так и в Linux. Вы пытались запустить эту команду? Какой тип сообщений об ошибках вы получаете.

Я только что проверил на моей локальной машине с MySQL на Windows XP. Единственная причина, по которой я мог видеть, что это не работает, это то, что MySQL не на вашем пути. Если его нет в вашем пути, вам нужно указать полный путь к исполняемому файлу MYSQL или запустить его из каталога, в котором он хранится. Вы также можете добавить исполняемый файл в путь, если планируете использовать исполняемый файл MySQL на на регулярной основе.

11 голосов
/ 15 июня 2012

См. этот комментарий Джеффа Зохраба в документации по MySQL:

Для пользователей Windows используйте косую черту в качестве разделителей пути. Вам также не нужно заключать путь к файлу в кавычки. Например, следующие работы:

mysql> source C:/Documents and Settings/My name here/My Documents/script.sql;

На всякий случай, для Linux:

mysql> source /path/to/script.sql;
5 голосов
/ 26 июля 2010

Если вы получаете «ошибку 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

Привет.

1 голос
/ 21 августа 2009

Если вы не против сделать это в интерактивном режиме, вы можете использовать команду source в оболочке mysql, за которой следует имя файла. В противном случае, я считаю, что Кибби прав насчет труб, работающих в cmd.exe.

0 голосов
/ 20 октября 2011

Вы можете добавить переменную среды в Windows XP, протестированную и подтвержденную для Vista, через setx.exe, в папку, содержащую mysql.exe, mysqldump.exe и т. Д. (В этом примере используется MySQL Workbench, установленный и просто измените путь к вашему выбору.

setx path "%PATH%;C:\Program Files\MySQL\MySQL Workbench 5.2 CE"
...