Mysql 5.7免密码登录

方法一:直接编辑/etc/my.cnf文件

在/etc/my.cnf中修改
在[mysqld]最后添加:skip-grant-tables

###这样是默认root账号免密码登录

  

方法二:通过mysql_config_editor命令。

[root@tt~]# mysql_config_editor set -G vml -S /tmp/mysql.sock -u root -p
Enter password:
[root@tt~]#

我们配置完成之后就会在当前用户目录下面生成一个.mylogin.cnf的二进制文件

[root@tt ~]# file /root/.mylogin.cnf
/root/.mylogin.cnf: data

我们print之后就可以发现,我们创建了一个标签,标签的名字就是vml,密码是加密的,我们这样就看不到密码了,并且这种存储方式是二进制的,相对比较安全

[root@tt ~]# mysql_config_editor print --all
[vml]
user = root
password = *****
socket = /tmp/mysql.sock

我们可以通过--login-path=vml这种方式进行免密码登录数据库 

[root@tt ~]# mysql --login-path=vml

 例:

配置:
mysql_config_editor set --host=127.0.0.1 --login-path=local3306 --port=3306 --user=root -p

其中可配置项
-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=local3306 #显示执行的login-path配置
mysql_config_editor print --all #显示所有的login-path信息

删除配置:
mysql_config_editor remove --login-path=local3306
其中可删除项
-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=local3306

使用login-path登录:
shell>mysql --login-path=local3306


 

方法三:我们通过my.cnf来配置,设置到~/.my.cnf来配置免密码

[root@tt ~]# cat .my.cnf
[client]
user=root
password=123456
port = 3306

我们直接输入mysql就可以进行登录mysql数据库,这种不好的地方就是我们的密码是不加密的,可见的,是不安全的。

故障排查 

再使用MySQL免密码登录的过程中,提示如下报错

权限全局可写,任何一个用户都可以写。mysql担心这种文件被其他用户恶意修改,所以忽略掉这个配置文件。这样mysql无法重启。

[root@tt ~]# mysql
mysql: [Warning] World-writable config file '/root/.my.cnf' is ignored.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

查看.my.cnf文件发现该文件的权限不对。重新授权

 chmod 600 .my.cnf
 ll .my.cnf
-rw------- 1 root root 47 Oct 31 19:06 .my.cnf
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值