当我尝试从终端内在MySQL上运行以下命令时:
mysql -u $user -p$password -e "statement"执行按预期工作,但它总是发出警告:
警告:在命令行界面上使用密码可能不安全。
但是,我必须使用存储密码的环境变量($password)来执行上面的语句,因为我希望在终端内的bash脚本中迭代地运行该命令,并且我绝对不喜欢等待提示出现并迫使我在单个脚本中输入密码50或100次的想法。所以我的问题是:
运行man mysql无济于事,只是说
--show-warnings
导致在每条语句后显示警告。此选项适用于交互式和批处理模式。
并且没有提到如何关闭功能,如果我没有遗漏一些东西。
我使用的是OSX10.9.1 Mavericks,使用的是homebrew的MySQL 5.6。
发布于 2014-06-12 23:59:02
一种方便(但同样不安全)的方法是使用:
MYSQL_PWD=xxxxxxxx mysql -u root -e "statement"请注意,官方文档建议不要使用它。
请参阅6.1.2.1 End-User Guidelines for Password Security (Mysql Manual for Version 5.6)
将密码存储在
MYSQL_PWD环境变量中
这种指定MySQL密码的方法必须被认为是极不安全的,不应该使用。某些版本的ps包含一个选项,用于显示运行进程的环境。在某些系统上,如果设置了MYSQL_PWD,则您的密码将向运行ps的任何其他用户公开。即使在没有此版本ps的系统上,假设没有其他方法可供用户检查进程环境也是不明智的。
https://stackoverflow.com/questions/20751352
复制相似问题