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数据库中数据表的优化、外键与三范式用法,结合实例形式较为详细的分析了Mysql数据库中数据表的优化、外键与三范式相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2019-11-11
  • MySQL 升级方法指南大全

    MySQL 升级方法指南大全

    通常,从一个发布版本升级到另一个版本时,我们建议按照顺序来升级版本。例如,想要升级 MySQL 3.23 时,先升级到 MySQL 4.0,而不是直接升级到 MySQL 4.1 或 MySQL 5.0。
    2008-01-01
  • 为什么在MySQL中不建议使用UTF-8

    为什么在MySQL中不建议使用UTF-8

    在本篇文章里小编给大家分享了一篇关于MySQL中不要使用UTF-8的相关文章,有兴趣的朋友们可以阅读参考下。
    2020-12-12
  • Linux mysql命令安装允许远程连接的安装设置方法

    Linux mysql命令安装允许远程连接的安装设置方法

    对大家推荐很好使用的Linux mysql系统,像让大家对Linux mysql系统有所了解,然后对Linux mysql系统全面讲解介绍,希望对大家有用今天特意配置了mysql apache php ,虽然网上很多这方面的例子,但是很多是作者再回忆写的,所以难免有笔误的地方。
    2010-08-08
  • SQL中MIN和MAX及常见函数教程示例

    SQL中MIN和MAX及常见函数教程示例

    这篇文章主要为大家介绍了SQL中MIN和MAX及常见函数教程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • mysql 8.0.11 macos10.13安装配置方法图文教程

    mysql 8.0.11 macos10.13安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql 8.0.11 macos10.13安装配置方法图文教程,mysql数据库安装及配置环境变量,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • MySQL中INSERT INTO的具体使用

    MySQL中INSERT INTO的具体使用

    INSERT INTO 是 MySQL 数据库中非常重要的一种 SQL 命令,用于将新行插入到表中,本文主要介绍了MySQL中INSERT INTO的具体使用,感兴趣的可以了解一下
    2024-03-03
  • MySQL一键安装Shell脚本的实现

    MySQL一键安装Shell脚本的实现

    本文主要介绍了MySQL一键安装Shell脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • MySQL慢查询查找和调优测试

    MySQL慢查询查找和调优测试

    MySQL慢查询查找和调优测试,接下来详细介绍,需要了解的朋友可以参考下
    2013-01-01
  • MySQL避免索引失效的方法示例

    MySQL避免索引失效的方法示例

    索引是帮助MySQL高效获取数据的数据结构,本文主要介绍了MySQL避免索引失效的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08

最新评论