• 查看错误日志发现有两个警告(ignored in --skip-name-resolve mode)


    2016-08-02 17:30:26 17374 [Warning] 'user' entry '@losnau-223.com' ignored in --skip-name-resolve mode.
    2016-08-02 17:30:26 17374 [Warning] 'proxies_priv' entry '@ root@losnau-223.com' ignored in --skip-name-resolve mode.
    未发现其他有其他ERROR的提示信息
    于是尝试去修改/etcmy.cnf文件,找到--skip-name-resolve mode,并且注释掉,
    然后重启mysql服务,
    OK,成功登录了,错误排除

    参考网上:
    回顾一下在my.ini文件中添加"SKIP-NAME-RESOLVE"参数来提高访问速度的原理:
    在没有设置该参数的时候,客户端在登陆请求发出后,服务器要解析请求者是谁,经过解析,发现登录者是从另外的电脑登录的,也就是说不是服务器本机, 那么,服务器会到mysql.user表中去查找是否有这个用户,假设服务器IP是192.168.0.1,而客户机的IP是192.168.0.2;那 么查询的顺序是先找'root'@'192.168.0.2'这个user是否存在,若存在,则匹配这个用户登陆,并加载权限列表。若没有该用户,则查找 'root'@'%'这个用户是否存在,若存在,则加载权限列表。否则,登录失败。
    在设置了SKIP-NAME-RESOLVE参数后,客户端的登录请求的解析式同上面一样的,但是在服务器本机的解析过程却发生了改变:服务器会把 在本机登录的用户自动解析为'root'@'127.0.0.1';而不是'root'@'localhost';这样一来就坏了,因为我们在服务器上登 录是为了进行一些维护操作,但是显然,'root'@'127.0.0.1'这个用户是被默认为'root'@'%'这个用户的,这个用户还没有足够得权 限去执行一些超级管理员'root'@'localhost'才能执行的大作。因为未分配权限。
    所以结论是:加入你在服务器本机上登录mysql服务器的话,要么先取消SKIP-NAME-RESOLVE的参数设置,重新启动服务器再登陆,设 置完成后,再设置上该参数;要么就给'root'@'127.0.0.1'分配超级管理员权限,但这么做显然是不明智的,因为任何人在任何机器上都可以用 这个用户执行管理员操作,前提是知道了密码。

  • 相关阅读:
    FMDB 使用方法
    Masonry
    iOS请求服务器数据去空NSNull
    NSProgress
    根据图标名称动态设置TreeList图标
    控制显示行头列(Indicator)
    窗体内元素遍历-通用方法(DevExpress 中BarManager的遍历)
    BarManager相关使用
    C# 枚举变量
    dev TreeList 获取可视区域节点方法
  • 原文地址:https://www.cnblogs.com/losbyday/p/5840833.html
Copyright © 2020-2023  润新知