远程连接MySQL失败 HeidiSQL连接MySQL失败

17 篇文章 0 订阅
16 篇文章 1 订阅
远程连接MySQL失败
一、原因:今天在Linux服务器上安装了MySQL数据库,安装完成启动后,想从自己的电脑使用HeidiSQL连接到Linux上MySQL,但是一直是连接失败
二、开启远程访问功能,登录到mysql后,执行下面的命令
mysql> flush privileges;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql> flush privileges;
1. 其中的root是需要远程登录的用户名,可以更改为实际的用户名
2. 其中的%是IP地址,可以替换为具体的IP地址,要是不指定IP地址,则使用%
3. 要是提示ERROR 1410 (42000): You are not allowed to create a user with GRANT ,则说明这个用户还不存在或者这个用户对应的IP地址不存在mysql的表中,使用下面的命令查询用户:
use mysql;
select host, user, authentication_string, plugin from user;

查询结果如图:
在这里插入图片描述

发现root的host是localhost,不是%,可以加个host是%的root账号:使用下面的命令生成新的用户:
CREATE USER 'root'@'%' IDENTIFIED BY 'KC$abc123';
然后再执行下面的命令就可以的了
mysql> flush privileges;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql> flush privileges;
三、配置3306端口
1. 在/etc/sysconfig中打开iptables文件
2. 找到下面的一行字,复制,添加到下一行,并把22更改为3306
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

添加后:
在这里插入图片描述

四、使用下面的两个命令的其中一个重启防火墙
service iptables restart
systemctl restart iptables.service
然后重新使用HeidiSQL连接mysql,连接成功
五、如果还是连接失败,则需要更改加密方法

执行下面的命令,在结果中可以看到加密方法为:caching_sha2_password,需要更改为mysql_native_password

use mysql;
select host, user, authentication_string, plugin from user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

更改后连接就可以的了。

六、总结:这次的远程连接MySQL失败就到这里结束了,如果有疑问可以直接留言评论,如果觉得对你有帮助,可以小小的赞赏一杯奶茶钱,谢谢!!

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值