运维日记|MySQL-安全最重要!warning勿忽视 – 作者:database

某日,有人抱怨使用MySQL客户端连接进行交互式连接,每次登陆都要输入一次密码,特别麻烦;然后使用明文连接,又一直报出Warning的信息。

虽然知道明文不安全但是为了追求快速方便,所以不得不使用明文方式登陆。问我有啥方式能够既安全又方便登陆到Mysql上。

状况一:

使用MySQL客户端连接要报警告:

# mysql -uroot -pmysql -S/tmp/mysql.sock –silent

image.png

状况二:

写个脚本每天备份也要报警,如下图:

image.png

提示这个安全原因本来无可厚非,但是坑爹的是,没有任何一个参数或者开关能关闭这个Warning。(真是伤脑筋@_@)

仔细看了看该警告,就是告诉使用者:”喂,朋友你直接把密码这样写出来很危险啊!!!”

那既然危险,那我们就应该尽可能降低这种风险,那有什么办法既能避免密码的明文显示又能方便使用?

下面听小编细细道来。

解决方案:

既然没有方法能关闭,那我们如何在MySQL认可的方式下来避免该warning呢。

下面给大家介绍如下工具:

mysql_config_editor 工具。

自MySQL 5.6版本之后,MySQL新增了一个login-path 特性,这个特性提高了安全性及便利性。

mysql_config_editor 工具是专门用来配置login-path的。

image.png

TIP:所谓磨刀不误砍柴,要了解一个工具不如我们先瞧瞧他的帮助信息 从帮助文件看也就五个变量,从这一点看,至少这个工具看起来并不复杂。

首先,生成加密文件,下图所示:

image.png

这个时候在当前用户家目录下,就会生成一个加密文件.mylogin.cnf

image.png

那我们是不是可以直接读取这个文件呢???

使用如下命令,可看到他是data格式文件。

[root@test ~]# file .mylogin.cnf

.mylogin.cnf: data

data这个文件格式还不是我们能直接more一下就出来的,还需要我们使用如下命令来读取。输出所有信息,如下图所示:

image.png

此时密码均被小星星(*)所代替了,完全不用担心密码被人知道啦~

使用方法也是方便的很,将登陆信息的几个选项用–login-path选项直接替换掉。

image.png

脚本内部,也可以把相关登陆信息用–login-path选项进行替换。

image.png

mysql_config_editor这个工具对于提高数据库安全性及便捷性起到非常重要的作用。

学了这一招,真的是Warning了无踪,再也不用担心登陆信息泄露啦~


参考文献

https://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html


美创运维中心数据库服务团队拥有Oracle ACE 1人、OCM 10余人、数十名Oracle OCP、MySQL OCP、红帽RHCA、中间件weblogic、tuxedo认证、达梦工程师 ,著有《Oracle DBA实战攻略》,《Oracle数据库性能优化方法和最佳实践》,《Oracle内核技术揭秘》等多本数据运维优化书籍。目前运维各类数据库合计2000余套,精通Oracle、MySQL、SQLServer、DB2、PostgreSQL、达梦等主流商业和开源数据库。并成为首批国内达梦战略合作伙伴之一,拥有海量经验和完善的人员培养体系。并同时提供超融合,私有云整体解决方案。

来源:freebuf.com 2020-06-08 15:17:50 by: database

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论