MySQL远程无法连接的一些常见原因总结

 更新时间:2022年09月20日 15:29:18   作者:Lit Shang  
有的小伙伴发现自己的mysql无法正常连接远程服务器,下面这篇文章主要给大家介绍了关于MySQL远程无法连接的一些常见原因,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

前言

MySQL是目前非常流行的数据库之一,也是中小企业持久化存储的首选数据库。

不同于我们日常学习,在实际应用中,MySQL服务都会挂载在某台服务器上。如果MySQL部署在某台云服务器上,这样一来,操纵数据库每次都需要先连接服务器,再进入数据库操作,不是很方便。

于是,学习远程连接 MySQL 的方法是数据库在服务器上时的必修课。下面我将讲述远程连接报错的常见三种原因。

原因1:

MySQL的远程访问权限未开放

如果最常见的无法远程连接问题,因为没开启远程访问权限导致的。

解决方案:

进入MySQL中,通过下述命令可以查看远程访问权限等,创建用户的远程访问权限并刷新指令即可,别忘记每次修改命令都要刷新指令哦。

常见命令如下:

# 查看当前远程连接的权限
select User,authentication_string,Host from user;
# 创建用户远程访问权限
create user root@'%' identified by '123456';
# 允许指定主机(IP地址)访问权限
grant all privileges on test.* to '用户名'@'ip地址' identified by '密码';
# 无法创建请删除重新试一遍
drop user root@'ip地址';
# 赋予用户操作的全部权限
grant all privileges on *.* to root@'%';
# 刷新指令
flush privileges;

原因2:

服务器开启了防火墙,导致MySQL的访问端口无法使用

如果服务器开启了防火墙,并且未设置MySQL端口开放策略,那么你将无法通过对应的端口远程访问MySQL。

解决方案:

关闭防火墙,或者开放对应的MySQL端口即可,比如默认的MySQL端口是3306,开放他就行。

常见命令如下:

# 查看防火墙状态
firewall-cmd --state
# 启动防火墙
systemctl start firewalld.service
# 关闭防火墙
systemctl stop firewalld.service
# 设置开机自启动
systemctl enable firewalld.service
# 开放防火墙端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重新加载配置
firewall-cmd --reload
# 查看开放的防火墙端口
firewall-cmd --zone=public --list-ports

原因3:

docker链被清除,导致MySQL无法访问

如果你的MySQL是部署在docker容器中的,并且在部署完成后开启设置了防火墙。这个时候就可能导致docker的链被清除,即使你开启了远程访问权限,也只能通过进入容器访问MySQL,远程无法访问。

解决方案:

重新启动docker,可以恢复docker链。

# 重启docker
systemctl restart docker

总结

到此这篇关于MySQL远程无法连接的一些常见原因的文章就介绍到这了,更多相关MySQL远程无法连接原因内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mysql主从复制注意事项的讲解

    Mysql主从复制注意事项的讲解

    今天小编就为大家分享一篇关于Mysql主从复制注意事项的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • MySQL limit使用方法以及超大分页问题解决

    MySQL limit使用方法以及超大分页问题解决

    这篇文章主要给大家介绍了关于MySQL limit使用方法以及超大分页问题解决的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • MySQL语句整理及汇总介绍

    MySQL语句整理及汇总介绍

    今天小编就为大家分享一篇关于MySQL语句整理及汇总介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • mysql幻读详解实例以及解决办法

    mysql幻读详解实例以及解决办法

    MySQL中的幻读只有在读的时候才会发生,读这里特指SELECT操作,下面这篇文章主要给大家介绍了关于mysql幻读详解实例以及解决办法的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • MySQL中的max()函数使用教程

    MySQL中的max()函数使用教程

    这篇文章主要介绍了MySQL中的max()函数使用教程,是学习MySQL入门的基础知识,需要的朋友可以参考下
    2015-05-05
  • MySQL Replication中的并行复制示例详解

    MySQL Replication中的并行复制示例详解

    MySQL在5.6版本之前,主从复制的从节点上有两个线程,分别是I/O线程和SQL线程,今天通过本文给大家介绍MySQL Replication中的并行复制示例详解,感兴趣的朋友一起看看吧
    2022-07-07
  • MySQL8.0 Undo Tablespace管理详解

    MySQL8.0 Undo Tablespace管理详解

    本文主要介绍了MySQL8.0 Undo Tablespace管理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • mysql中TINYINT的取值范围

    mysql中TINYINT的取值范围

    这篇文章主要介绍了mysql中TINYINT的取值范围,需要的朋友可以参考下
    2014-08-08
  • Linux下mysql源码安装笔记

    Linux下mysql源码安装笔记

    这篇文章主要为大家分享了Linux下mysql源码安装笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • MySQL 重命名表的操作方法及注意事项

    MySQL 重命名表的操作方法及注意事项

    有时候我们会遇到重命名表的需求,比如说因业务变化,需要将表 a 重命名为表 b 。这个时候可以执行 RENAME TABLE 语句或 ALTER TABLE 语句来重命名表。本篇文章我们一起来学习下重命名表相关知识。
    2021-05-05

最新评论