mysql无法连接其他主机

我是纯小白入坑,下面的流程尽可能详细:

我是使用命令提示符写的,都差不多,大差不差

首先输入mysql -u root -p,意思是登录且需要密码,也可以输入mysql -u root,这样就是不输入密码(不过是在你没有设置密码的前提下,才可以登录成功)

如果说登进去了,就进行下一步,如果登不进去,那你们就搜一搜数据库初始化吧。

然后输入select user,host from mysql.user;可以查看角色,下图除了student其他四个都是初始的角色,刚开始我们使用的就是root角色,右边的host指的是可以连接的主机(连接方),所以说初始的四个角色只能从本地连接到数据库,后面我新创建的student的host是%,%的意思就是连接方是任意的。

然后提一嘴,主机之间的连接,就是连接其他主机的mysql数据库,不能使用root,因为host只能是主机嘛这里再解释一下。所以我们需要新创建一个host为%(指什么都可以)的一个角色(这里我叫student)

下面讲怎么去创建,输入create user 'student'@'%' identified by '123456';即可创建,其中user不知道为什么不能用role去代替,我猜可能是因为设置了密码的原因。

identified by后面加的是密码

两个引号内分别是用户名和用户IP地址(%表示任意IP地址)

这样就是创建完成了,然后可以输入quit退出数据库,再mysql -u student -p试一下能不能登进来

但是就算能登进来,我们却不能使用,因为我们只创建了一个角色,我们并没有给他任何的权限,那给他权限的这个语句只能在root账号下去打代码(因为student没有grant的权限)

重新登录root(先quit出student)

我们这里直接写一下:grant all on *.* to 'student'@'%';

*.*就是数据库.表的意思,这里用*代表的是任意数据库.任意表,后面我就不说了,做到这里,就能连接上数据库了!再不行的话我就不清楚了,谢谢。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值