zoukankan      html  css  js  c++  java
  • 阿里云telnet 3306端口失败

    在阿里云的服务器上安装了MySQL, 然后远程访问总是不通。 查询了很久,排查思路如下:

    1. 检查mysql是否启动
    2. 检查本机3306端口是否处于监听状态
    3. 检查阿里云控制台是否开启了安全限制
    4. 检查mysql用户能否在远程进行登录
    5. mysql 的 bind-address 设置为 127.0.0.1

    我们来一步步排查。

    1. mysql是否启动
      这个比较简单, ps -ef | grep mysql 如果能看到对应的进程就是没有问题的

    2. 检查本机3306端口是否处于监听状态
      可以通过netstat -tlanp | grep 3306 来看mysql是否在监听。 如果本地端口监听状态 telnet 127.0.0.1 3306 看看是否成功, 如果成功, 则 在远程 telnet 公网ip 3306 来判断一下是否成功, 如果成功说明没有问题, 如果失败,继续往下看

    3. 检查阿里云控制台是否开启了安全限制
      阿里云默认是不会打开 3306端口的, 需要进行设置, 设置方法见: https://help.aliyun.com/document_detail/25471.html?spm=5176.11065259.1996646101.searchclickresult.42468fa7McebNN

    4. 检查mysql用户能否在远程进行登录
      这个主要是在新建mysql用户的时候 授权ip需要填写 % , 可以在远程进入mysql然后查询下。

    $ sudo mysql -u root -p
    进入mysql客户端之后,
    use mysql;
    select * from user;
    查看一下 host 是否为 %

    1. mysql 的 bind-address 设置为 127.0.0.1

    要找到bind-address的设置, 需要找到mysql的配置文件
    $ sudo find / -name my.cnf

    这个时候就能看到所有的配置相关的文件, 我看到的文件中有这么一段描述

    '''
    The MariaDB/MySQL tools read configuration files in the following order:

    1. "/etc/mysql/mariadb.cnf" (this file) to set global defaults,
    2. "/etc/mysql/conf.d/*.cnf" to set global options.
    3. "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options.
    4. "~/.my.cnf" to set user-specific options.
      '''

    大意是根据根据 1,2,3,4的优先级来判断,那么就根据这4个文件寻找一下,
    最后在 vi /etc/mysql/mariadb.conf.d/50-server.cnf 这个文件中找到了 bind-address 127.0.0.1 修改之后, 就完成了

  • 相关阅读:
    Zookeeper and The Infinite Zoo(CF1491D)(位运算)
    树上差分
    最近公共祖先
    极角排序
    最长路spfa
    树的基础
    树的遍历~
    最小圆覆盖板子
    动态凸包(询问点是否在凸包内部)
    凸包内最大三角形
  • 原文地址:https://www.cnblogs.com/cyttina/p/8185760.html
Copyright © 2011-2022 走看看