当我尝试从终端在MySQL上运行以下命令时:
mysql -u $user -p$password -e "statement"
执行工作按预期方式进行,但始终会发出警告:
警告:在命令行界面上使用密码可能不安全。
但是,我必须使用$password
存储我的密码的环境变量()来执行上述语句,因为我想从Terminal内部在bash脚本中迭代地运行命令,并且我绝对不喜欢等待提示出现的想法并迫使我在一个脚本中输入50或100次密码。所以这是我的问题:
抑制警告是否可行?该命令可以按照我所说的那样正常工作,但是当我循环并运行50或100次命令时,窗口会变得非常混乱。
我应该听从警告消息并且不要在脚本中写密码吗?如果是这种情况,那么每次提示提示我输入密码时,我都必须输入密码吗?
跑步man mysql
无济于事,只说
--show-warnings
导致在每个语句之后显示警告。此选项适用于交互式和批处理模式。
如果没有丢失任何内容,也没有提及如何关闭功能。
我在OS X 10.9.1 Mavericks上,并使用自制软件中的MySQL 5.6。
[client]
password=my_password
中的~/.my.cnf
)。当然,它也有一些安全隐患,但是至少任何可以运行的人都无法访问它ps
,并且您可以通过文件许可权对其进行控制。