mysql 安全认证_MySQL 安全认证工具

0cc51035f347de6b0b327f5f4ca4c3e0.gif

很多时候,我们需要写脚本来定时备份MySQL数据库,其中需要用到密码的地方,大多数的处理方式,要么做本地免密,要么将密码写入到另外的文件中引入,再或者用交互的方式expect。在MySQL5.6之前是没有任何问题的,在MySQL5.6之后,引入了密码安全机制,导致在文本中或在shell中出现明文密码的时候,MySQL会提示如下错误:

Warning: Using a password on the command line interface can be insecure.

虽然這个只是个Warning,并不影响shell的正常执行,但是当作一些信息获取,或者判断$?时,就比较头疼了。

這里介绍一个工具,mysql自带的mysql_config_editor,它是mysql用户安全认证工具,它将MySQL服务的认证信息加密保存在.mylogin.cnf文件(默认于用户主目录),之后MySQL客户端工具可通过读取该加密文件连接MySQL,避免重复输入登录信息,避免敏感信息暴露。

mysql_config_editor使用帮助:

配置:

mysql_config_editor set --login-path=test --user=test_user  --host=127.0.0.1 --port=3306 --password

其中可配置项

-h,–host=name 添加host到登陆文件中

-G,–login-path=name 在登录文件中为login path添加名字(默认为client)

-p,–password 在登陆文件中添加密码(该密码会被mysql_config_editor自动加密)

-u,–user 添加用户名到登陆文件中

-S,–socket=name 添加sock文件路径到登陆文件中

-P,–port=name 添加登陆端口到登陆文件中

显示配置:

mysql_config_editor print --login-path=test #显示执行的login-path配置

mysql_config_editor print --all             #显示所有的login-path信息

删除配置:

mysql_config_editor remove --login-path=test

其中可删除项

-h,–host=name 添加host到登陆文件中

-G,–login-path=name 在登录文件中为login path添加名字(默认为client)

-p,–password 在登陆文件中添加密码(该密码会被mysql_config_editor自动加密)

-u,–user 添加用户名到登陆文件中

-S,–socket=name 添加sock文件路径到登陆文件中

-P,–port=name 添加登陆端口到登陆文件中

重置配置:

mysql_config_editor reset --login-path=test

使用login-path登录:

shell>mysql --login-path=test

若要登录其他主机、其他端口,或者添加其他额外参数,直接在上述命令后添加即可

shell>mysql --login-path=test  -h host1 -P port1 #登录host1:poet1上的MySQL

shell>mysql --login-path=test  -h host1 -P port1 test_db #登录host1:poet1上的MySQL中的test_db库

8e0fa83a89637f85ddb59ec6100fcdf1.gif

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值