zoukankan      html  css  js  c++  java
  • 无法远程连接服务器上的mysql

    前言

    使用mysql管理工具连接服务器上的mysql,显示连接被拒绝,但是在服务器上是可以登录mysql的。

    无法远程连接通常以下几种情况:

    首先,

    关闭mysql。        

    service mysqld stop

    1.0 没有授权(这里介绍三种的方法)

    1.1 查看授权

    SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

    +-----------------------+ 
    | host | 
    +-----------------------+ 
    | % | 
    | 127.0.0.1 | 
    +-----------------------+  

    host下面的字段:

    % 代表任何主机都可以连接

    127.0.0.1   表示该用户只能通过这个服务器地址连接

    1.2 如果没有授权,修改授权

    授权任何地址都可以连接

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

    或者这样写:

     grant select,delete,update,create,insert,drop on *.* to admin@"%" identified by "123456";

    1.3 授权一个ip地址访问该数据库

    本机ip自己通过cmd查看 ,假设这里我的本机ip是112.141.165.24

    授权root用户,仅可以通过112.141.165.24访问服务器上的数据库。

    GRANT ALL PRIVILEGES ON *.* TO 'root'@’112.141.165.24’ IDENTIFIED BY '123456' WITH GRANT OPTION;

    以上,授权后全部需要刷新授权:

    flush privileges;

    2.0 防火墙禁止了3306端口

    查看服务器开启的端口

    vi /etc/sysconfig/iptables

    看一下里面的配置是否有3306端口

    没有的情况下:

    添加一条配置3306端口的策略

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

    重启防火墙

    service iptables restart

    3.0 查看mysql配置

    修改MySQL的配置文件/etc/mysql/my.cnf,默认3306端口只允许本地访问

    注释条这行:

    #bind-address = 127.0.0.1

    或者改成     bind-address = 0.0.0.0

    4.0 修改安全组策略

    上面的三条都不行,请看这一条。

    登录阿里云服务器

    在ESC服务器>网络和安全>安全组,点击你实例上的配置规则,如果没有3360的话,自己配置一条开放3306端口的规则。

     

  • 相关阅读:
    hdu 5119 Happy Matt Friends
    hdu 5128 The E-pang Palace
    hdu 5131 Song Jiang's rank list
    hdu 5135 Little Zu Chongzhi's Triangles
    hdu 5137 How Many Maos Does the Guanxi Worth
    hdu 5122 K.Bro Sorting
    Human Gene Functions
    Palindrome(最长公共子序列)
    A Simple problem
    Alignment ( 最长上升(下降)子序列 )
  • 原文地址:https://www.cnblogs.com/blogcxz/p/7341734.html
Copyright © 2011-2022 走看看