美文网首页
Windows连接Linux服务器中MySQL数据库-权限配置

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

作者: Fighting_001 | 来源:发表于2018-10-18 18:32 被阅读71次

    问题描述

    在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数据库

    相关文章

      网友评论

          本文标题:Windows连接Linux服务器中MySQL数据库-权限配置

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