首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >禁止在终端内使用mysql显示警告消息,但使用bash脚本编写密码

禁止在终端内使用mysql显示警告消息,但使用bash脚本编写密码
EN

Stack Overflow用户
提问于 2013-12-24 05:21:14
回答 26查看 349.3K关注 0票数 329

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

代码语言:javascript
复制
mysql -u $user -p$password -e "statement"

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

警告:在命令行界面上使用密码可能不安全。

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

  • 抑制该警告是否可行?该命令工作正常,但当我循环并运行该命令50或100次时,窗口会变得相当混乱。
  • 我是否应该遵守警告消息,并且不在脚本中写入密码?如果是这样,那么每次提示符都迫使我输入密码时,我是否都必须这样做?

运行man mysql无济于事,只是说

--show-warnings

导致在每条语句后显示警告。此选项适用于交互式和批处理模式。

并且没有提到如何关闭功能,如果我没有遗漏一些东西。

我使用的是OSX10.9.1 Mavericks,使用的是homebrew的MySQL 5.6。

EN

回答 26

Stack Overflow用户

回答已采纳

发布于 2013-12-31 16:07:09

如果您的MySQL客户端/服务器版本是5.6.x,避免出现警告消息的方法是使用工具:

代码语言:javascript
复制
mysql_config_editor set --login-path=local --host=localhost --user=username --password

然后,您可以在shell脚本中使用:

代码语言:javascript
复制
mysql --login-path=local  -e "statement"

而不是:

代码语言:javascript
复制
mysql -u username -p pass -e "statement"
票数 275
EN

Stack Overflow用户

发布于 2014-04-08 17:34:24

我使用类似这样的东西:

代码语言:javascript
复制
mysql --defaults-extra-file=/path/to/config.cnf

代码语言:javascript
复制
mysqldump --defaults-extra-file=/path/to/config.cnf 

其中,config.cnf包含:

代码语言:javascript
复制
[client]
user = "whatever"
password = "whatever"
host = "whatever"

这允许您拥有多个配置文件-用于不同的服务器/角色/数据库。使用~/.my.cnf将只允许您拥有一组配置(尽管它可能是一组有用的默认值)。

如果您使用的是基于Debian的发行版,并以root身份运行,则可以跳过上述步骤,只需使用/etc/mysql/debian.cnf进入...:

mysql --defaults-extra-file=/etc/mysql/debian.cnf

票数 256
EN

Stack Overflow用户

发布于 2014-06-12 23:59:02

一种方便(但同样不安全)的方法是使用:

代码语言:javascript
复制
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的系统上,假设没有其他方法可供用户检查进程环境也是不明智的。

票数 208
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20751352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档