通过批处理脚本运行mysql脚本
我已经搜索了几个小时,有很多帖子或教程,但我无法运行我的批处理脚本。通过批处理脚本运行mysql脚本
在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"
的错误是:
ERROR 1045(28000):访问拒绝用户'root -h localhost -p * * siir_07 dumper.s'@'localhost”(使用密码:NO)
Z:\ test.bat的:
Z:\webserver\mysql\bin\mysql.exe -u test -p test < test.sql
当我从命令行中运行它,一切没问题。因此,请尝试使用<
删除引号和重定向输入。
它认为这是你的用户名
' root -h localhost -p** siir_07 dumper.s'
试图改变周围的报价在你的批处理脚本
感谢您的回复。它只输出mysql帮助文本。在我进行反复试验时,我曾看到过这一点。 – nikel 2012-01-12 06:52:43
你应该使用<
文件重定向输入,删除多余的空格:
mysql -uroot -p*** < dumper.sql
我也建议把用户名密码,以及最probabry字符集参数在一个单独的INI文件,并使用它,如下所示:
mysql --defaults-extra-file=myconf.ini < dumper.sql
感谢您的回复。我通过删除最后两个引号来修复它。 – nikel 2012-01-12 08:02:43
您也可以使用源代码来执行sql脚本 例如
mysql -u%DBUSERNAME% -p%USERPASSWD% -D%DBNAME% -e "source something.sql;"
该解决方案为我工作:
mysql -u my_username -D my_database -p < test.sql
这之后,我得到了一个提示输入我的密码,我没有和一切正常。
感谢您的回答。它现在效果很好 – nikel 2012-01-12 08:03:24