gpt4 book ai didi

mysql - 在终端中使用 mysql 来抑制警告消息,但密码是用 bash 脚本编写的

转载 作者:IT老高 更新时间:2023-10-28 12:48:24 26 4
gpt4 key购买 nike

当我尝试从终端中在 MySQL 上运行以下命令时:

mysql -u $user -p$password -e "statement"

执行按预期工作,但它总是发出警告:

Warning: Using a password on the command line interface can be insecure.

但是,我必须使用存储我的密码的环境变量 ($password) 执行上面的语句,因为我想在终端内的 bash 脚本中迭代地运行该命令,而且我肯定不喜欢等待提示出现并强制我在单个脚本中输入密码 50 或 100 次的想法。所以这是我的问题:

  • 抑制警告是否可行?正如我所说,该命令可以正常工作,但是当我循环运行该命令 50 或 100 次时,窗口变得非常困惑。

  • 我应该遵守警告信息并且不要在我的脚本中写下我的密码吗?如果是这种情况,那么每次提示强制我输入密码时我都必须输入密码吗?

运行 man mysql 没用,只说

--show-warnings
Cause warnings to be shown after each statement if there are any. This option applies to interactive and batch mode.

并没有提及如何关闭功能,如果我没有遗漏什么。

我在 OS X 10.9.1 Mavericks 上使用自制软件的 MySQL 5.6。

最佳答案

如果您的 MySQL 客户端/服务器版本是 5.6.x,那么避免 WARNING 消息的方法是使用 mysql_config_editor 工具:

mysql_config_editor set --login-path=local --host=localhost --user=username --password

然后你可以在你的shell脚本中使用:

mysql --login-path=local  -e "statement"

代替:

mysql -u username -p pass -e "statement"

关于mysql - 在终端中使用 mysql 来抑制警告消息,但密码是用 bash 脚本编写的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20751352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com