当前位置: 首页 > 面试题库 >

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

祖浩淼
2023-03-14
问题内容

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


问题答案:

如果您的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"


 类似资料:
  • 警告:在命令行界面上使用密码可能不安全。 但是,我必须使用存储密码的环境变量()来执行上述语句,因为我希望从Terminal内部在bash脚本中迭代运行该命令,并且我绝对不喜欢等待提示符出现并强迫我在一个脚本中输入50或100次密码的想法。所以我的问题是: > 压制警告是否可行?正如我所说的,该命令工作正常,但当我循环运行该命令50或100次时,窗口变得非常混乱。 我是否应该服从警告信息,不在我的

  • 我正在编写一个简单的bash脚本,它所做的一件事就是在继续之前检查数据库是否已经存在。这段代码足够简单,但每当我试图运行脚本时,我都会收到一条警告消息,我想抑制它。 以下是代码: 因此,作为输出,当if语句返回true时,我得到以下消息: 我怎样才能抑制这个信息?它不会阻止脚本运行,但我不希望看到它。

  • 我正在运行python脚本(下面完整的脚本链接),用于使用Chrome金丝雀进行硒测试。测试似乎运行良好,但是,控制台上显示了许多错误/警告/信息消息。 有没有办法抑制这些消息?我已经尝试过:chrome_options.add_argument("--沉默"),但没有帮助。我无法找到正确的解决方案。感谢任何帮助。 Python脚本:这里提供的示例脚本 Python:3.6.3 Selenium:

  • 嗨,我有一个脚本来划分一些mysql数据库。我们正在从5.5升级到5.6。在测试脚本时,我注意到,在新的5.6版本中,mysql返回

  • 我应该启用哪些确切的gcc标志来获得此警告? 为什么将声明为volatile会抑制该警告?

  • 在我的应用程序中,我有一个由第三方开发的库,不幸的是,它包含相当多的lint和javac警告。我想忽略这两种类型的警告,因为它们无法由我们的团队修复,并且它们会污染我们的构建日志。我尝试将以下内容添加到库build.gradle文件中: 在Android块中 我还在build.gradle文件末尾添加了以下内容: 不幸的是,每当“:compileDebugJavaWithJavac”运行时,它仍然