【问题标题】:How to execute sql commands through linux shell script?如何通过linux shell脚本执行sql命令?
【发布时间】:2019-11-06 03:16:04
【问题描述】:

我正在尝试通过 shell 脚本执行 SQL 命令。

我可以通过终端连接。但是当我尝试使用 shell 脚本连接时,它显示访问被拒绝。我们如何通过 Linux shell 脚本执行 SQL 脚本?

mysql -u "root" "-pspanidea" "mysql" < "sqlscript.sql"?
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

【问题讨论】:

  • 您需要使用 mysql 用户而不是本地计算机帐户连接到数据库
  • 您的数据库可能使用了错误的密码。检查您是否使用了正确的用户和密码组合,并访问了正确的数据库。您遇到的错误意味着由于用户“root”的密码错误,访问被拒绝。另请注意,这是数据库密码,而不是“root”的系统用户密码
  • 不通过-p 选项提供密码,而是从配置文件中读取密码,请参阅*.com/a/9293090/11499871

标签: mysql linux shell terminal


【解决方案1】:

是因为你的密码引用字符串中有 -p 开关吗?试试这个:

mysql -u "root" -p "spanidea" "mysql" < "sqlscript.sql"

【讨论】:

  • 如果我解决了您的问题,您能否将我的答案标记为“已接受”(通过单击绿色勾号)?同样为了额外的安全性,您可以只提供不带密码的 -p 选项,它会在下一行询问您的密码(未显示)。
最近更新 更多