当我在脚本中运行 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 的文章,所以也它们

将mysql数据保存在单独的目录中

如果您觉得这篇文章有帮助,请点赞!
7
加载中...
7 票,平均:1.00 / 17
72,758
X Facebook 哈特纳书签 口袋

写这篇文章的人

关于作者