当我在脚本中运行 mysql 命令时,显示“警告:在命令行界面上使用密码可能不安全”
我叫伊藤,是一名基础设施工程师。
我们每天晚上都使用脚本来备份数据库。
我经常使用的MySQL版本是5.5,但是我有机会使用5.6,当我像往常一样安装并执行脚本时,得到以下日志。
警告:在命令行界面上使用密码可能不安全
点击此处获取MySQL版本升级信息。
尽管我使用了与以前相同的脚本,但仍输出了不熟悉的警告。
如果它只是出现也没关系,但 cron 会向您发送一封电子邮件。 。 。
在命令行界面中显示密码并不安全。
输出Warning信息的含义如下。
除了由脚本输出外,在命令中直接输入密码时也会输出。
以下是使用带有 -p 选项和密码作为参数的 mysql 命令登录的示例。
可以看到第二行输出了。
# mysql -uroot -ppassword 警告:在命令行界面上使用密码可能不安全。欢迎使用以 ; 或 \g 结尾的命令。您的 MySQL 连接 ID 为 3548981 服务器版本:5.6.30-log MySQL 社区。服务器 (GPL) 版权所有 (c) 2000, 2016,Oracle 和/或其附属公司保留所有权利。其他名称可能是其各自所有者的商标。 ;' 或 '\h' 获取帮助。键入 '\c' 清除当前输入语句。
如果仅使用 [-p] 并单独输入密码,则不会生成任何输出。
直接写是不安全的! !这是一个警告。
将密码部分导出到conf文件中
防止出现此警告的解决方法是从外部文件读取。
创建一个供外部读取的文件。
# 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 社区服务器 (GPL) 版权所有) 2000, 2016,Oracle 和/或其附属公司保留所有权利。其他名称可能是其各自所有者的商标。键入“\c”以清除当前输入语句 mysql>。
可以成功连接,所以将其合并到脚本中就可以了。
我写过其他关于 MySQL 的文章,所以也它们
如果您觉得这篇文章有帮助,请点赞!