用本机sqlyog去远程连接阿里云里面的mariadb,报错:2003-Can't connect to Mysql server on 'xxx' (10060 "Unknown error")

当我最近使用阿里云服务器安装了mariadb(这个与MySQL完全一样,可以看成是MySQL),再使用本地安装的xshell去远程连接这个阿里云服务器里面的mariadb数据库时,报错:
2003-Can’t connect to Mysql server on '39.98.165.xxx' (10060 "unknown error")  这个问题实在是太麻烦了,搞了很久才搞定。

注意:这个错误其实很有代表性,当我们想使用本地的软件去远程连接服务器里面软件(如:Redis、MySQL、Oracle、MariaDB等软件)都会出现这个问题。原因是我们没有把远程服务器系统里面的端口打开了,不把端口打开并对外开放防火墙。你是不可能远程连得上这个的。

下面是解决方案,大家仔细照着做就行了!!!(要知道每个需要开放端口才能远程访问的软件都需要照此进行操作)

一、执行下面的命令允许Maria/MySQL的root用户远程连接,表示允许从任何主机连接到MariaDB/mysql服务器(这一步也就是用来给外部软件授权的)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;(注意mypassword这个字段需要替换成你自己的MySQL/MariaDB登录密码)

二、激活阿里云服务器内部的MySQL/MariaDB数据库的权限,退出当前的数据库

FLUSH PRIVILEGES;  ---激活之前的权限配置
exit;或者quit;    ---退出数据库

到这一步,阿里云服务器里面的数据库的被外部访问的权限已经打开了

三、打开阿里云服务器的防火墙端口3306,而且这里是永久打开。服务器里面的其他软件的端口都是用这个方式打开的

systemctl start firewalld     ---打开/启动防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent     ---打开防火墙的3306端口

四、重启一下防火墙,并查看刚刚配置的端口是否成功对外开放?

firewall-cmd --reload		#重启firewall
firewall-cmd --list-ports	#查看已经开放的端口

这样就可以使用远程连接了。其实大多数远程访问软件都是这个道理!!!!希望大家可以举一反三

发布了85 篇原创文章 · 获赞 276 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/wise18146705004/article/details/105303335