• navicat远程连接报错


    mysql,2003 can't connect to mysql server on 10038

    我们连接远程服务器的mysql,如果出现问题,很大问题会出在服务器的端口和授权问题

    # 首先我们通过netstat -an|grep 3306来查看mysql默认的端口3306是否开启,允许哪个ip使用
    如果你发现,前面有127.0.0.1,就说明,3306端口只能本机ip使用,我们需要
    #打开mysql配置文件vi /etc/mysql/mariadb.conf.d/50-server.cnf
    将bind-address = 127.0.0.1注销​
    #进入mysql,对远程用户进行授权,
    grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';
    这里的root 是你远程登录的用户,xxxxxx是你登录使用的密码,然后可以在mysql数据 表中查看到你这个用户已经被添加到user表中
    # 刷新权限
    FLUSH PRIVILEGES;
    # 重启数据库
    /etc/init.d/mysql restart

    1130 - Host XXX is not allowed to connect to this MySQL server。

    #1.在用Navicat配置远程连接Mysql数据库时遇到如下报错信息,这是由于Mysql配置了不支持远程连接引起的。
    #2.在安装Mysql数据库的主机上登录root用户:
    mysql -u root -p
    #3.依次执行如下命令:
    use mysql;
    select host from user where user='root';
    可以看到当前主机配置信息为localhost.
    #4.将Host设置为通配符%
    Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。 user=root Host=localhost,表示只能通过本机客户端去访问。而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。 
    #注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置;
    update user set host = '%' where user ='root';  # 报错不用理会
    Host设置了“%”后便可以允许远程访问。
    #5.Host修改完成后记得执行flush privileges使配置立即生效
    flush privileges;
    #6.使用navicat 成功连接至mysql
  • 相关阅读:
    【STM32】串行通信原理
    【STM32】NVIC中断优先级管理
    【Linux-驱动】RTC设备驱动架构
    【Linux-驱动】在sysfs下创建对应的class节点---class_create
    【Linux-驱动】将cdev加入到系统中去---cdev_add
    【Linux-驱动】简单字符设备驱动结构和初始化
    【Linux-驱动】printk的打印级别
    【Linux 网络编程】REUSADDR
    【Linux 网络编程】常用TCP/IP网络编程函数
    linux定时重启tomcat脚本
  • 原文地址:https://www.cnblogs.com/daofaziran/p/12884437.html
Copyright © 2020-2023  润新知