mysql安全无密码登录_利用.my.cnf,安全实现Shell下MySQL免输入密码登录

MySQL官方文档有说明,可以在~/.my.cnf处指定用户的密码。

.my.cnf的格式如下:[client]

password="MySQL密码"

user=MySQL用户名

上面的user一行可以省略,不指定user,则自动以当前Shell登录的用户身份登入mysql。

把上述代码保存到~/.my.cnf,再次输入mysql(或mysql -u 用户名),mysql-client就会自动读取当前用户的家目录下.my.cnf文件的信息,可以无密码自动登入MySQL。

cron等非交互式的程序执行mysql,可能不会自动读取~/.my.cnf,或者.my.cnf保存在其他路径或保存为其他文件名时,就需要使用--defaults-file参数手动指定该配置文件的路径了:mysql --defaults-file=/folder1/folder2/filename -u 用户名

一定要保证.my.cnf别的用户/组不能读取(chmod 400)

但是如果不想给人知道用户名和实际的密码,但是又想给人用,可以使用mysql自己带的config edit。mysql_config_editor set --user=root --password

这个时候,用户主目录下会出现一个加密了以后的.mylogin.cnf,权限600

直接查看会发现密码是加密的,调用:mysql_config_editor print --all

可以看见摘要

直接调用mysql 就可以免密码登录mysql_config_editor设置的默认服务器

如果需要设置多个服务器,可以使用--login-path参数mysql_config_editor set --login-path=dev-slave --user=root --password --host=ip-of-server --port=3308

链接的时候,使用mysql --login-path=dev-mysql

这种方法说不上有多安全,主要是加密以后,肉眼看不见了而已。

记得,.my.cnf 和.mylogin.cnf 一定要chmod 600

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值