开发者社区> 问答> 正文

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

当我尝试从Terminal在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

展开
收起
保持可爱mmm 2020-05-13 14:45:26 465 0
1 条回答
写回答
取消 提交回答
  • 如果您的MySQL客户端/服务器版本是5.6.xa以避免警告消息的方式,请使用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"来源:stack overflow

    2020-05-13 14:45:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像