• 解决mysql远程连接失败的问题


    问题描述

    在我远程连接我的服务器数据库的时候,navicat给我提示了这么一个错误:

    1 ERROR 1130: Host 'xxx' is not allowed to connect to thisMySQL server.

    思考解决

    • 首先

    鉴于前两天我刚帮别人解决了这个一模一样的问题,都是错误代码1130,当时解决的方向是:(不过本方法对我而言并没有生效)

    1. 先考虑端口是否开放:在客户端telnet xxx 3306,发现无法telnet进去,说明:①端口可能没开;②被防火墙把端口给限制了;
    2. 再考虑端口是否开启问题:远程连接到服务器端,netstat -ltp .发现端口也开着呢呀,服务正在运行。随后重启了一下,在客户端试了还是不行;
    3. 那么就试试防火墙吧:关闭防火墙,systemctl stop firewalld
    4. 最后端口就可以使用了。
    5. 这里要说一下:
    1 # ubuntu服务器
    2 命令:service ufw start/stop/status
    3 
    4 # centos服务器
    5 命令1:service iptables start/stop/status      # centos6.x
    6 命令2:systemctl start/stop/status firewalld   # centos7.x,centos7不用iptables了,改用firewall了
    • 其次

    是否可能是mysql的配置中bind-address的问题呢,于是我去找到mysqld.cnf文件,查看[mysqld]下的这个配置,结果也没问题,因为其默认配置的就是0.0.0.0。不过这个问题有时候也是要考虑到的。

     
    • 最后

    那么就重新思索和查找解决问题的方案。就是下面这种:

    (1):登录服务器端mysql数据库:

    • mysql -u root -p
    • use mysql;

    (2):更新root用户的主机权限:

    • update user set host = '%' where user = 'root';
    • 然后我们看一下修改后的root主机权限:select host, user from user;

    可以看到root的主机权限已经变成通配符%,任意主机都可以登录了。

    (3):使修改权限生效:

    • flush privileges;
    • 完成以上配置后,再去检测链接,就提示成功了。

    恢复正常访问了。


  • 相关阅读:
    Android 进阶 Fragment 介绍和使用 (一)
    Android Activity 详述
    android 自定义组合控件 顶部导航栏
    android 开发进阶自定义控件 类似 TextView
    android 开发进阶 自定义控件-仿ios自动清除控件
    Android 在程序中动态添加 View 布局或控件
    Android ImageView 详述
    关于北京工作居住证相关问题
    Android中常用的5大布局详述
    关于北京计算机技术与软件专业技术资格(水平)考试(软考)报名及证书的领取
  • 原文地址:https://www.cnblogs.com/cpl9412290130/p/10136293.html
Copyright © 2020-2023  润新知