• Windows连接Linux服务器中MySQL数据库-权限配置


    问题描述

    在Windows系统中安装了监控MySQL数据库服务器性能的工具Spotlight on MySQL,利用Spotlight连接Linux服务器中的MySQL,进行相关配置如下:

     

    点击"Connect"进行连接,连接过程中出现异常提示:
    Unable to connect to "192.168.xxx.xxx"
    Spotight encountered the following error during connection: Failed to connect with error: Host 192.168.xxx.1' is not allowed to connect to this MySQL server

     

    问题分析

    Host 192.168.xxx.1' is not allowed to connect to this MySQL server
    选定的host不允许连接到MySQL服务器,很可能是MySQL中没有开放任意IP连接MySQL的权限,默认情况下出于安全策略的考虑并没有开放给任意IP连接MySQL

    解决方案

    在MySQL服务器上作如下配置:

    方式1:配置指定IP的用户具备连接MySQL的权限

    # 连接mysql
    mysql -uroot -proot
    
    # 使用mysql
    show databases;
    use mysql;
    
    # 创建指定IP用户具备root用户权限
    select host,user,password from user;  # 查看user表中host和user字段的对应关系
    update user set host='192.168.xxx.xxx' where user='root';  # 指定某个主机的 IP
    update user set host='%' where user='root';  # 包括所有主机IP均可以root账户连接 MySQL
    
    # 刷新权限配置,使配置生效
    flush privileges;
    
     

    备注:方式1执行修改权限时可能会出现提示"ERROR 1062...",但不影响本次权限的修改

    方式2:直接授权任何主机以root用户均可连接MySQL

    # 连接mysql
    mysql -uroot -proot
    
    # 授权root/root账户具备包括连接MySQL的权限
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    
    # 刷新权限配置,使配置生效
    flush privileges;
    
     

    以上配置生效后,再次用Spotlight连接Linux服务器上的MySQL,即可连接成功,如下:

     

    Windows系统浏览器访问Linux服务器的IP,然后检测MySQL连接状态:连接ok

     

    参考资料:
    [1] 在windows系统连接linux系统下的mysql
    [2] windows下用navicat远程链接虚拟机Linux下MySQL数据库

  • 相关阅读:
    第二阶段冲刺总结09
    第二阶段冲刺总结08
    第二阶段冲刺总结07
    51nod 1799 二分答案(分块打表)
    51nod 1574 排列转换(贪心+鸽巢原理)
    Codeforces 618D Hamiltonian Spanning Tree(树的最小路径覆盖)
    Codeforces 627D Preorder Test(二分+树形DP)
    BZOJ 2427 软件安装(强连通分量+树形背包)
    BZOJ 2467 生成树(组合数学)
    BZOJ 2462 矩阵模板(二维hash)
  • 原文地址:https://www.cnblogs.com/zhuochong/p/10438138.html
Copyright © 2020-2023  润新知