在shell脚本中使用变量调用MySQL
我正在创建一个可以部署给多个管理员的脚本,这些管理员可以使用自己的凭据运行该脚本。
但是,我收到来自 mysql 的访问被拒绝错误。似乎认为我没有将用户名传递给 MySQL 命令:
使用此脚本:
set dbUser = "myusername"
set dbPass = "mypassword"
mysql --username=$dbUser --password=$dbPass --database="mydbname" -e "SELECT * FROM sometable"
错误 1044 (42000):用户 ''@'localhost' 访问数据库被拒绝
奇怪的是,如果我直接在 MySQL 命令中输入 MySQL 用户名和密码并在 shell 脚本中运行它,它就可以正常工作。
mysql --username="myusername"--password="mypass" --database="mydbname" -e "SELECT * FROM sometable"
I'm creating a script that can be deployed to multiple administrators who would be able to run it with their own credentials.
I'm getting an Access Denied error from mysql, however. It seems to think that I'm not passing a username to the MySQL command:
Using this script:
set dbUser = "myusername"
set dbPass = "mypassword"
mysql --username=$dbUser --password=$dbPass --database="mydbname" -e "SELECT * FROM sometable"
ERROR 1044 (42000): Access denied for user ''@'localhost' to database
Strangely, if I type the MySQL username and password directly into the MySQL command and run that in a shell script it works fine.
mysql --username="myusername"--password="mypass" --database="mydbname" -e "SELECT * FROM sometable"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了 bash...你不想 -
For bash... don't you want -