当我在脚本中运行 mysql 命令时,显示“警告:在命令行界面上使用密码可能不安全”

我叫伊藤,是一名基础设施工程师。
我们公司使用脚本每晚备份数据库。
MySQL 最常用的版本是 5.5,但我有机会使用 5.6,当我像往常一样安装并运行脚本时,显示了以下日志。
警告:在命令行界面中使用密码可能不安全。
*有关 MySQL 版本升级信息,请点击此处。
即使我使用的是和以前一样的脚本,却输出了一个陌生的警告。
如果它直接出现就好了,但 cron 会给我发邮件……
在命令行界面中显示密码是不安全的。
输出的警告信息可以简单解释如下。
除了脚本会输出此信息外,直接在命令中输入密码时也会输出此信息。
以下示例演示了如何使用 mysql 命令的 -p 选项登录,并添加密码作为参数。
您可以在第二行看到输出结果。
# mysql -uroot -ppassword 警告:在命令行界面中使用密码可能不安全。欢迎使用 MySQL 监视器。命令以 ; 或 \g 结尾。您的 MySQL 连接 ID 为 3548981 服务器版本:5.6.30-log MySQL Community Server (GPL) 版权所有 (c) 2000, 2016, Oracle 和/或其附属公司。保留所有权利。Oracle 是 Oracle Corporation 和/或其附属公司的注册商标。其他名称可能是其各自所有者的商标。输入“help;”或“\h”获取帮助。输入“\c”清除当前输入语句。mysql>
如果只使用 [-p] 参数并单独输入密码,则密码不会输出。
这表示直接输入密码并不安全!
将密码写入配置文件
避免此警告的方法是读取外部文件。
创建一个可供外部读取的文件。
# vim dbaccess.cnf [client] user = hoge password = hogehoge host = 192.168.1.1 由于这是一个包含密码的文件,请将访问权限限制在最低级别 # chmod 400 dbaccess.cnf
你只需要在 mysql 命令或 mysqldump 命令中读取这个文件即可。
# mysql --defaults-extra-file=dbaccess.cnf 欢迎使用 MySQL 监视器。命令以 ; 或 \g 结尾。您的 MySQL 连接 ID 为 72755232 服务器版本:5.6.30-log MySQL Community Server (GPL) 版权所有 (c) 2000, 2016, Oracle 和/或其附属公司。保留所有权利。Oracle 是 Oracle Corporation 和/或其附属公司的注册商标。其他名称可能是其各自所有者的商标。输入“help;”或“\h”获取帮助。输入“\c”清除当前输入语句。mysql>
连接成功,只需将其添加到您的脚本中即可。
我写过其他关于 MySQL 的文章,所以也它们
如果您觉得这篇文章有帮助,请点赞!
7