mysql数据库user表host字段的%问题
来源:互联网 发布:ps for mac破解版 编辑:程序博客网 时间:2024/04/28 18:37
在mysql数据库中,使用select user();查看当前用户。
mysql中host字段的%与localhost不是谁包括谁的问题,是由模糊到精确进行匹配的:
当用户从客户端请求登陆时,MySQL将授权表中的条目与客户端所提供的条目进行比较,包括用户的用户名,密码和主机。授权表中的Host字段是可以使用通配符作为模式进行匹配的,如test.example.com, %.example.com, %.com和%都可以匹配test.example.com这个主机。授权表中的User字段不允许使用模式匹配,但是可以有一个空字符的用户名代表匿名用户,并且空字符串可以匹配所有的用户名,就像通配符一样。 当user表中的Host和User有多个值可以匹配客户端提供的主机和用户名时,MySQL将user表读入内存,并且按照一定规则排序,按照排序规则读取到的第一个匹配客户端用户名和主机名的条目对客户端进行身份验证。
二、排序规则:对于Host字段,按照匹配的精确程度进行排序,越精确的排序越前,例如当匹配test.example.com这个主机时, %.example.com比%.com更精确,而test.example.com比%.example.com更精确。对于User字段,非空的字符串用户名比空字符串匹配的用户名排序更靠前。 User和Host字段都有多个匹配值,MySQL使用主机名排序最前的条目,在主机名字段相同时再选取用户名排序更前的条目。因此,如果User和Host字段都有多个匹配值,主机名最精确匹配的条目被用户对用户进行认证。
这是一般的匹配规则。但是今天遇到了%不能在本地登录的问题。
这是本地root登录查看的user表:
这是远程用xiao用户登录:
再来看看本地用xiao用户登录:
使用命令:“mysql -uxiao”
使用命令:“mysql -uxiao -p**************”
官方有说%不包括localhost。
%是匹配所有host的主机的,但是MySQL的user匹配host是从具体到模糊的,所以如果有localhost或127.0.0.1存在,就不会去匹配%这个用户了。
但是为何本地mhysql -u*** 可以直接登录,而Mysql -u**** -p******却登录不了?其实,最开始的一段解释就已经说清楚了。
使用xiao在本机登录数据时,不指定-h参数默认为localhost主机登录,而在MySQL中有两个匹配的条目:@'%' 和 ''@'localhost'
匿名用户能够匹配的原因上面说过,空字符串可以匹配所有的用户名,就像通配符一样。
根据MySQL认证时的排序规则,第一个条目的用户名排序更前,第二个条目的主机名更精确,排序更前。
而MySQL会优先使用主机名排序第一的条目进行身份认证,因此''@'localhost'被用户对客户端进行认证。因此,只有使用匿名用户的空密码才能登录进数据库。就会出现下面的情况了。
- mysql数据库user表host字段的%问题
- 关于mysql 修改权限表user字段host导致权限丢失的问题
- mysql远程可以登陆本地登陆不了(user表中host字段的通配符%)
- mysql中user表的host为::1
- MySQL数据库中库、表名、字段的大小写问题
- linux的mysql数据库的由于权限问题看不到mysql库user表
- linux的mysql数据库的由于权限问题看不到mysql库user表
- 将mysql数据库的字段名或表名设为user不可取
- Mysql User表权限字段说明
- mysql.user 字段说明
- mysql.user字段含义
- mysql修改数据库表的字段
- 修改mysql数据库,表,字段 的字符集。
- mysql 数据库,表,字段的字符编码
- mysql的text字段长度?mysql数据库中text字段长度不够的问题
- mysql的text字段长度?mysql数据库中text字段长度不够的问题
- 解决CodeSmith不能读取MySql数据库字段说明的问题
- 解决Mysql数据库表id字段自增后,删除记录而id字段无法恢复到初始值的问题
- Attempting to start Apache service...but apache doesn't work
- shared_ptr Analysis
- 使用 shared_ptr 的一個問題代碼
- 栈的基本操作
- javascript之块级作用域的概念和闭包
- mysql数据库user表host字段的%问题
- BZOJ 1856 [Scoi2010]字符串 组合数
- 目标检测的图像特征提取之(二)LBP特征
- combobox的输入内容匹配的源码分析--修改为真正的模糊匹配
- 工欲善其事,必先利其器。一个强大的开发环境可以大大提高工作效率。好吧,我知道这是废话。。。不过,我想一定有很多跟我一样打算进入Linux平台开发的新手,一开始都为找不到一个像Windows下的VS那样
- unity官方教程space shooter 学习文档
- BZOJ 1857 [Scoi2010]传送带 三分套三分
- Eclipse C++ and Xcode for Mac
- BZOJ 1858 [Scoi2010]序列操作 线段树