美文网首页我爱编程
解决mysql远程连接配置与错误修复

解决mysql远程连接配置与错误修复

作者: 安全外围人 | 来源:发表于2016-07-12 16:53 被阅读437次

    1:正常配置方法01

    MySQL-uroot-p123456

    123456 为 root 用户的密码

    grant all PRIVILEGES on discuz.*to ted@'123.123.123.123'identified by'123456';

    上面的语句表示将 discuz 数据库的所有权限授权给 ted 这个用户,允许 ted 用户在 123.123.123.123 这个 IP 进行远程登陆,并设置 ted 用户的密码为 123456

    flush privileges;

    让更改生效

    1.1:正常配置方法02

    mysql -u root -pvmware

    mysql> use mysql;

    mysql> update user set host = ‘%’ where user = ‘root’;

    mysql> select host, user from user;

    mysql>flush privileges;

    1.2:正常配置方法03

    例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

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

    如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

    mysql> GRANT ALL PRIVILEGES ON *.* TO'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword’ WITH GRANT OPTION;

    2:问题解决

    发现配置问题

    mysql> select user,password,host from user;

    回显

    +--------+-------------------------------------------+-----------------+

    | user  | password                                  | host            |

    +--------+-------------------------------------------+-----------------+

    | root  | *7E3F81xxx41010CD0ExxxxxxA880BA595CDABF32 | localhost      |

    | myuser | *7E3F814xxx41010CD0xxxxxxx80BA595CDABF32 | 11x.5.xx.126    |

    | myuser | *7E3F814Axxx010CD0ExxxxxxxCDABF32 | 118.19x.1x.236 |

    | myuser | *7E3xxxA41010CD0xxxxxxxxxxxABF32 | 127.0.0.1      |

    +--------+-------------------------------------------+-----------------+

    4 rows in set (0.00 sec)

    如果你的配置没问题的话 回显应该和我的类似

    3:加速访问

    当远程访问mysql时, mysql会解析域名, 所以会导致访问速度很慢, 会有2,3秒延时!

    解决办法:

    修改mysql安装目录下的my.ini,加上下面这个配置可解决此问题。在[mysqld]下加入:skip-name-resolve

    保存退出后重启mysql服务。

    4:修改通信端口

    修改下面两个地方:

    [client]

    port=3306

    [mysqld]

    # The TCP/IP Port the MySQL Server will listen on

    port=3306

    如果提示修改不了可能需要把相关软件和服务先停掉,win7的可能要以管理员方式打开,修改后要重启服务才起作用。

    5:my.ini 配置错误

    检查下面设置

    skip-networking

    #开启该选项可以彻底关闭MySQL的TCP/IP连接方式,如果WEB服务器是以远程连接的方式访问MySQL数据库服务器则不要开启该选项!否则将无法正常连接!

    skip-name-resolve      #禁止MySQL对外部连接进行DNS解析

    skip-grant-tables

    #禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求!注:如果用winform连接mysql,加入此句速度会有很大的提升

    6:本地防火墙规则

    检查防火墙是否有mysql 通讯端口规则;如果不是系统防火墙可能是您的地3方软件在进行拦截!云锁 安全狗一类的

    7:IDC 运营商的封锁

    使用namp 探测(不是特别准确);但有一定的参考价值

    C:\Users\Administrator>nmap -sS  kk11.xxx.888ywf.com -p3306

    Starting Nmap 7.12 ( https://nmap.org ) at 2016-07-12 15:45 ?D1ú±ê×?ê±??

    mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers

    Nmap scan report for kk11.xxxx.888ywf.com (118.xx3.1xx.236)

    Host is up (0.057s latency).

    PORT    STATE    SERVICE

    3306/tcp filtered mysql  #被墙状态,过滤

    Nmap done: 1 IP address (1 host up) scanned in 1.60 seconds

    C:\Users\Administrator>nmap -sS  kk11.xxxx.888ywf.com -p3309

    Starting Nmap 7.12 ( https://nmap.org ) at 2016-07-12 16:43 ?D1ú±ê×?ê±??

    mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers

    Nmap scan report for kk11.xxxxx.888ywf.com (1xx8.1xx.1x9.236)

    Host is up (0.051s latency).

    PORT    STATE SERVICE

    3309/tcp open  unknown #开放状态

    Nmap done: 1 IP address (1 host up) scanned in 1.32 seconds

    本地查看状态可以使用

    netstat -nat #查看端口开放情况

    C:\Users\Administrator>netstat -nat

    活动连接

    协议  本地地址          外部地址        状态          卸载状态

    TCP    0.0.0.0:21            0.0.0.0:0              LISTENING      InHost

    TCP    0.0.0.0:80            0.0.0.0:0              LISTENING      InHost

    当然使用Tcpview 是更好的选择;

    如果IDC 封了端口,可以使用第4点来修改通讯端口

    待续.....

    相关文章

      网友评论

        本文标题:解决mysql远程连接配置与错误修复

        本文链接:https://www.haomeiwen.com/subject/kqcsjttx.html