Mysql学习mysql客户端连接服务器时怎么验证匹配授权表

《Mysql学习mysql客户端连接服务器时怎么验证匹配授权表》要点:
本文介绍了Mysql学习mysql客户端连接服务器时怎么验证匹配授权表,希望对您有用。如果有疑问,可以联系我们。

导读:从客户端来连接服务器时,发现服务器端mysql库中的授权表有多条记录匹配我的这个连接,那么服务器会选择哪条记录来验证本次连接呢?解决方...

MYSQL入门从客户端来连接服务器时,那么服务器会选择哪条记录来验证本次连接呢?

MYSQL入门解决方法:
首先,mysql启动的时候会读入mysql,然后进行排序;
然后,按排序后的条目来匹配验证客户端的连接,mysql服务器会选择与客户端连接匹配的第一行记录来验证.

MYSQL入门那么mysql会按照什么规则来排序呢?

MYSQL入门首先,以user表中的host值来排序,最具体的主机名或ip地址排在最前面;
其次,如果host值相同,会再按照user值来排序,也是跟host值排序一样,最具体的user值排在最前面.

MYSQL入门来看下面的例子:
 
例如:user表中的host和user值如下:
 

+-------------+----------+-
| Host        | User     |
+-------------+----------+-
| %           | devl     |
| 192.168.1.1 | dev1     |
| 192.168.1.1 |          |
| 192.168.%   | dev1     |
+-------------+----------+-
 

MYSQL入门那么按照上面所说的规则,user表被载入内存后排序,得到下面的样子:
 

+-------------+----------+-
| Host        | User     |
+-------------+----------+-
| 192.168.1.1 | devl     |
| 192.168.1.1 |          |
| 192.168.%   | dev1     |
| %           | dev1     |
+-------------+----------+-
 

MYSQL入门如果能够连接服务器,但权限不是期望的,可能被鉴定为其它账户.
要想找出服务器用来鉴定你的账户,可以使用CURRENT_USER()函数.它返回user_name@host_name格式的值
例如:

select CURRENT_USER();

相关文章

navicat查看某个表的所有字段的详细信息 navicat设计表只能一...
文章浏览阅读4.3k次。转载请把头部出处链接和尾部二维码一起...
文章浏览阅读488次。恢复步骤概要备份frm、ibd文件如果mysql...
文章浏览阅读225次。当MySQL单表记录数过大时,增删改查性能...
文章浏览阅读1.5k次。Mysql创建、删除用户MySql中添加用户,新...
MySQL是一种开源的关系型数据库管理系统,被广泛应用于各类应...