MySQL root开启远程访问权限

本文介绍了当MySQL无法通过远程服务器进行操作时,如何查找问题根源并解决。默认情况下,MySQL仅允许本地连接。要授予root用户远程访问权限,需执行SQL命令,如GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123456',然后使用flush privileges刷新权限。完成这些步骤后,远程连接将恢复正常。

问题:

mysql不能通过Xshell去操作远程服务器,通过本地的sqlyog管理工具去连接,即使账号密码全正确,也会报错:error no. 1045 access denied for user ‘root’@’*****’ (using password:YES)。

查找根源:

MySql-Server 出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)来连接访问. 所以必须给root修改可以远程访问的权限

  1. 在连接服务器后,操作mysql系统数据库
    命令为:
  • mysql -u root -p
  • use mysql;
  • 在这里插入图片描述
  1. 查询用户表命令:select User,authentication_string,Host from user

在这里插入图片描述

这里也可以看出host默认都是localhost访问权限

解决—接下来就是最重要的部分了:

1.GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’

  • 这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址
  1. flush privileges;
    这一步一定要做,不然无法成功!
    这句表示从mysql数据库的grant表中重新加载权限数据
    因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

执行完这两步,再次查询用户表命令:
select User,authentication_string,Host from user

在这里插入图片描述

多了一个root用户,该用户所有的主机都可以访问,此时再次用sqlyog访问连接成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值