Ошибка при создании резервной копии с mysqldump в командной строке mysql - PullRequest
9 голосов
/ 20 декабря 2011

Здравствуйте, я пытаюсь сделать резервную копию из клиента командной строки mysql. Я использую mysqldump для резервного копирования с именем пользователя и паролем. Ниже приведена команда, которую я использую для резервного копирования базы данных.

mysql> mysqldump -u username -p password databasename > backup.sql;

Я получаю следующую ошибку

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
dump -u username -p password fms > backup.sql' at line 1

Хотя команда кажется верной, я все же получаю ошибку. Пожалуйста, дайте мне знать, есть ли другой способ взять резервную копию из командной строки mysql.

Заранее спасибо.

Ответы [ 5 ]

18 голосов
/ 20 декабря 2011

mysqldump - это не команда MySQL, это утилита командной строки. Вы должны вызвать его из командной строки вашей оболочки.

3 голосов
/ 20 декабря 2011

В вашей команде не должно быть пробела между -p и password.Кроме того, mysqldump должен запускаться в командной строке, а не в оболочке mysql.

Попробуйте это в командной строке

mysqldump -u username -ppassword databasename > backup.sql
3 голосов
/ 20 декабря 2011

Проблема в том, что вы выполняете команду из приглашения MySQL вместо оболочки Linux. Выйдите из командной строки mysql и запустите команду из оболочки ОС (в конце удалите точку с запятой)

2 голосов
/ 24 сентября 2013

Я не понимал, что другие пытались сказать, пока не увидел этот вопрос .

Дело в том, что вы не можете получить доступ к «mysql.exe» и поместить в него mysqldump. «Mysqldump.exe» - это другой файл, поэтому вы должны выполнить его из командной строки ОС, передав параметры в исполнение.

Итак, в DOS (на Windows, конечно), предположим, что вы находитесь в каталоге: «C: \ xampp \ mysql \ bin», тогда вы можете вызвать следующую команду:

mysqldump -u root -p test > test.sql

Вы также можете назвать это так, чтобы вы могли четко видеть, что вы выполняете файл:

.\mysqldump.exe -u root -p test > test.sql

Если бы он мог быть более кристально чистым, вы бы увидели эту строку в DOS:

c:\xampp\mysql\bin>.\mysqldump.exe -u root -p test > test.sql

Ps: в этом коде вам будет предложено сообщить пароль после выполнения. То есть, действительно, рекомендация, которую дает «mysqldump.exe», если вы вводите пароль непосредственно в строку дампа.

PS 2: если вы используете настройки по умолчанию для пользователя root (т.е. с пустым паролем), вам нужно просто нажать «Enter», когда вас попросят сообщить пароль.

Ps 3: «test.sql» будет создан в том же каталоге, что и «mysqldump.exe». В этом примере в: "C: \ xampp \ mysql \ bin".

1 голос
/ 18 ноября 2013

Введите это в свой интерфейс командной строки, а НЕ в командной строке MYSQL:

mysqldump -u username -ppassword databasename > backup.sql

Например, если имя пользователя - «root», пароль - «abcdefg», а имя базы данных - «mydatabase», то синтаксис:

mysqldump -u root -pabcdefg mydatabase > backup.sql

backup.sql - это имя файла, в котором будет храниться ваша резервная копия, чтобы вы могли иметь любое имя.

...