mysql 8.0的远程访问

最近新购了一台电脑,现在要用新电脑访问旧电脑的数据库,结果悲剧了,连接不上:2003-can t connect to MySQL server on ip(10060 ‘unknow error’),

原因查找:

由于旧电脑装了MySQL5.7 和 MySQL8.0,两个数据库的访问端口分别为3306、3307,因此进入MySQL的cmd命令不能使用:mysql -h127.0.0.1 -uroot -p ,而是:mysql -P3307 -uroot -p,

进入MySQL之后:use mysql;

然后:show tables; 会发现有一个user表

查一下user表:select host,user from user;

hostuser
localhostroot

 

 

 

发现问题了,原来mysql 8.0 默认user字段为root的对应的host字段是localhost,代表着,root账号只能在本机登录,无法远程登陆

 

解决方法:

执行命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

执行刷新:FLUSH PRIVILEGES;   

'root'@'%' 中,root表示授权的用户,%代表所有ip

再查一下user表:select host,user from user;

hostuser
%root

 

这时host已经改成了%,允许所有ip来访问

 

问题解决了吗,如果没有的话,那可能还要看看防火墙是否开放3307端口,

去往 控制面板\Windows Defender 防火墙

一、打开高级设置

二、点击入站规则,新建规则,选择“端口”,下一步

三、选择 TCP,特定本地端口,填入MySQL的端口,默认是3306,下一步。

四、允许连接

五、全勾选

六、最后输入名称,完成即可

再次连接,问题解决。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值