ITPub博客

首页 > 数据库 > MySQL > MySQL--避开登录时的[Warning]

MySQL--避开登录时的[Warning]

原创 MySQL 作者:wangwenan6 时间:2016-05-12 20:54:58 0 删除 编辑
在MySQL中, 如果显示的输入密码去登录的话, 就会有一个Warning显示出来, 提醒这种使用方式会不安全,
信息如下:
 [Warning] Using a password on the command line interface can be insecure.

而在写数据库相关的脚本时, 经常会使用到MySQL的client去获取一些数据, 但是这个[Warning]总是出现的话, 还是挺烦人的,
经常会变成这个样子:


琢磨了一段时间, 在这里分享两种方式来避免这种提示的出现~

第三种方式: 修改源代码~
作为一般用户, 几乎不会去考虑~

第二种方式: 常量;

这种方式其实就是利用常量来代替了明文输入密码的这一步骤,
使用方法也很简单, 在脚本中加入如下命令即可
---------------------------------------------
export MYSQL_PWD=<password>
---------------------------------------------

之后在脚本中就不用带上 -p参数了, 直接在命令行试试看~


第一次尝试连接用的是root, 可以发现即使不带上-p参数, 也在后面显示出了Using password: Yes,
说明设定的这个常量已经被当做密码拿去验证登录了;

第二次尝试连接用的是密码对应的账号, 同样不带上-p, 发现数据库可以正常登录, 也没有了那个烦人的Warning~

第一种方式: mysql_config_editor
mysql_config_editor是官方发布的一个安全加密登录的工具, 能够 定义一个login-path来管理一组登录用的user,password,host;
方便管理但实例多账户 or 多实例多账户;
用法非常简单~
首先要定义一个login-path:

之后会要求输入密码, 密码输入完以后, 就可以使用预设好的login-path来登录了, 效果如下图:


可以看到使用login-path的方式登录时, 完全不需要再使用平时的-u, -p等参数了, mysql client会自动去获取预设好的login-path来进行登录;
当然, Warning也不见了~

不过使用login-path需要安装dev版的mysql client, 且版本要求不低于5.7;
PS: 具体某个小版本就没有再具体验证了;

引申的疑问: mysql_config_editor把这些信息保存到那里去了? 安全么?
回答: 保存在当前用户的目录下, 是一个隐藏文件~


看看里面的内容~


完全看不懂~因为这个加密过了~所以配置好的login-path还是挺安全的~

PS: mysql_config_editor还有remove, print等参数, 能够简单的管理已经保存好的login-path~
PPS: 修改某个login-path? 重新set嘛~有兴趣的可以在测试环境实际动手试验一下~

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29510932/viewspace-2098853/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: MySQL之change master
请登录后发表评论 登录
全部评论

注册时间:2014-02-28

  • 博文量
    102
  • 访问量
    1418449