Запускать скрипт mysql пакетным скриптом - PullRequest
3 голосов
/ 12 января 2012

Я искал несколько часов, есть много постов или учебных пособий, но я не смог запустить свой пакетный скрипт.

в командной строке DOS этот код работает нормально:

-u root -h localhost -p******** siir_07 dumper.sql

, ноэто дает ошибку с пакетом:

"c:\program files\mysql\mysql server 5.5\bin\mysql.exe" "-u root -h localhost -p******** siir_07 dumper.sql"

ошибка:

ОШИБКА 1045 (28000): доступ запрещен для пользователя 'root -h localhost -p ** siir_07 dumper.s'@'localhost '(используя пароль: НЕТ)

Ответы [ 5 ]

4 голосов
/ 12 января 2012

Z: \ test.bat:

Z:\webserver\mysql\bin\mysql.exe -u test -p test < test.sql

Когда я запускаю его из командной строки, все в порядке. Итак, попробуйте удалить кавычки и перенаправить ввод, используя <.

3 голосов
/ 26 апреля 2013

Вы также можете использовать исходный текст для выполнения сценария sql, например

 mysql -u%DBUSERNAME% -p%USERPASSWD% -D%DBNAME% -e "source something.sql;"
1 голос
/ 07 октября 2017

Это решение сработало для меня:

mysql -u my_username -D my_database -p < test.sql

После этого я получил запрос на ввод пароля, все сделал, и все заработало.

1 голос
/ 12 января 2012

Вы должны перенаправить ввод из файла, используя < и удалить лишние пробелы:

mysql -uroot -p*** < dumper.sql

Я бы также предложил поместить пароль имени пользователя и большинство параметров вероятностной кодировки в отдельный файл INI и использовать егоследует:

 mysql --defaults-extra-file=myconf.ini < dumper.sql
0 голосов
/ 12 января 2012

думает, что это ваше имя пользователя

' root -h localhost -p** siir_07 dumper.s'

попробуйте изменить кавычки в вашем пакетном скрипте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...