Centos7下无法远程连接mysql数据库的原因与解决

 更新时间:2017年09月21日 09:45:41   作者:蓝汝丶琪  
MySQL是由Oracle公司开发的开源SQL数据库管理系统,下面这篇文章主要给大家介绍了关于在Centos7下无法远程连接mysql数据库的原因与解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

最近在工作中遇到一个问题,发现在Centos7系统下怎么也不能远程连接mysql,通过查找相关的资料,终于解决了,以下方法就是我在碰到远程连接不到Mysql数据库后试过的方法,最终也是解决掉了问题。所以总结一下分享出来,供同样遇到这个问题的朋友们参考学习,下面话不多说了,来一起看看详细的介绍吧。

有两种原因

  • 数据库没有授权
  • 服务器防火墙没有开放3306端口

一、数据库没有授权

对于mysql数据库没有授权,只需要用一条命令就可以了。

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;


//远程连接数据库的时候需要输入用户名和密码
用户名:root
密码:123456
指点ip:%代表所有Ip,此处也可以输入Ip来指定Ip

输入后使修改生效还需要下面的语句
mysql>FLUSH PRIVILEGES;

二、服务器防火墙没有开放3306端口

centos 有两种防火墙 FirewallD和iptables防火墙

centos7 使用的是FirewallD防火墙。

FirewallD 是 iptables 的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面,在大多数 Linux 发行版的仓库中都有。与直接控制 iptables 相比,使用 FirewallD 有两个主要区别:

      1.FirewallD 使用区域和服务而不是链式规则。

      2.它动态管理规则集,允许更新规则而不破坏现有会话和连接。

FirewallD 是 iptables 的一个封装,可以让你更容易地管理 iptables 规则 - 它并不是 iptables 的替代品。虽然 iptables 命令仍可用于 FirewallD,但建议使用 FirewallD 时仅使用 FirewallD 命令。

1.FirewallD防火墙开放3306端口

 firewall-cmd --zone=public --add-port=3306/tcp --permanent

命令含义:

--zone #作用域


--add-port=3306/tcp #添加端口,格式为:端口/通讯协议


--permanent  #永久生效,没有此参数重启后失效

重启防火墙

systemctl restart firewalld.service

2.iptables 开发3306端口

/sbin/iptables -I INPUT -p tcp -dport 3306 -j ACCEPT

/etc/rc.d/init.d/iptables save

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • mysql分表之后如何平滑上线详解

    mysql分表之后如何平滑上线详解

    项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多,以至于查询书读变慢,当出现这种情况时,我们可以考虑分表,这篇文章主要给大家介绍了关于mysql分表之后如何平滑上线的相关资料,需要的朋友可以参考下
    2021-10-10
  • 详解MySQL幻读及如何消除

    详解MySQL幻读及如何消除

    这篇文章主要介绍了详解MySQL 幻读及解决方法,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-03-03
  • 解决Mysql5.7.17在windows下安装启动时提示不成功问题

    解决Mysql5.7.17在windows下安装启动时提示不成功问题

    这篇文章主要介绍了解决Mysql5.7.17在windows下安装启动时提示不成功问题,需要的朋友可以参考下
    2017-03-03
  • windows7下启动mysql服务出现服务名无效的原因及解决方法

    windows7下启动mysql服务出现服务名无效的原因及解决方法

    这篇文章主要介绍了windows7下启动mysql服务出现服务名无效的原因及解决方法,需要的朋友可以参考下
    2014-06-06
  • MyCat 垂直分片和水平拆分的实现

    MyCat 垂直分片和水平拆分的实现

    本文主要介绍了MyCat 垂直分片和水平拆分的实现,垂直分片将不同类型的表拆分到不同的数据库服务器上,水平拆分则将大表拆分到多个服务器上,下面就来具体介绍一下,感兴趣的可以了解一下
    2025-03-03
  • MySQL学习之事务与并发控制

    MySQL学习之事务与并发控制

    这篇文章主要介绍了MySQL中的事务与并发控制,一个事务可以理解为一组操作,这一组操作要么全部执行,要么全部不执行,想了解更多的小伙伴,可以参考阅读本文
    2023-03-03
  • MySQL数据库高级查询和多表查询

    MySQL数据库高级查询和多表查询

    这篇文章主要介绍了MySQL数据库高级查询和多表查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • MySQL中的隐藏列的具体查看

    MySQL中的隐藏列的具体查看

    mysql中存在一些隐藏列,例如行标识、事务ID、回滚指针等,不知道大家是否和我一样好奇过,要怎样才能实际地看到这些隐藏列的值呢,感兴趣的可以了解一下
    2021-09-09
  • 服务器上的mysql实现读取sql文件

    服务器上的mysql实现读取sql文件

    这篇文章主要介绍了服务器上的mysql实现读取sql文件方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Mysql的SELECT语句与显示表结构详解

    Mysql的SELECT语句与显示表结构详解

    这篇文章主要介绍了Mysql的SELECT语句与显示表结构详解的相关资料,需要的朋友可以参考下
    2023-01-01

最新评论