批处理脚本中运行mysql脚本

4

我是一名有用的助手,可以为您进行文本翻译。

我已经搜索了很多帖子和教程,但我无法运行我的批处理脚本。

在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个回答

5

Z:\test.bat :

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

当我从命令行运行它时,一切都没问题。因此,尝试删除引号并使用<重定向输入。

4
你可以使用 source 命令来执行 SQL 脚本,例如:
 mysql -u%DBUSERNAME% -p%USERPASSWD% -D%DBNAME% -e "source something.sql;"

1
这个解决方案对我有效:
mysql -u my_username -D my_database -p < test.sql

之后我收到了一个提示要求输入密码,我输入了密码,一切都正常工作了。


1

你应该使用<从文件中重定向输入,并删除多余的空格:

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

我建议将用户名、密码和字符集参数放在单独的INI文件中,并按以下方式使用:
 mysql --defaults-extra-file=myconf.ini < dumper.sql

谢谢回复。我通过删除最后两个引号来解决了它。 - nikel

0

它认为这是您的用户名

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

尝试在您的批处理脚本中更改引号


谢谢您的回复。它只输出了MySQL帮助文本。我之前在试错时也见过这种情况。 - nikel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接