user表中存在多条相同user不同host用户信息时MySQL该匹配哪条记录登录?
问题:
当用户名相同,但主机名不同的多条记录。用户由不同主机登录时,选择使用那条记录来验证,数据库版本为:5.6.25
如:IP为192.168.141.241 hostname为vhost02主机上的MySQL上有下面几个用户:
test01@localhost、test01@127.0.0.1、test01@192.168.196.128、test01@192.168.196.%、test01@vhost02 、test01@vhost03
如果要用root用户登录数据,数据库会选择哪个用户?
实验结论:
1.仅当用户的host='localhost'存在时,不指定-h可以登录;
2.其它情况,本机登录,-h 指定为什么(localhost,127.0.0.1,IP)就用host等于什么的用户登录;
3.其它情况,异地登录,登录机器IP为多少就用能够与它匹配的host登录(host越具体,此用户优先级越高)。
4.实验证明,-h指定为hostname,即使有hostname记录用户也不能通过hostname登录;
5.实验证明,-h指定为hostname,且配置/etc/hosts中对应hostname的记录时,将-h hostname 转化为-h IP登录;
测试过程:
mysql> create user test01@'localhost' identified by 'localhost'; Query OK, 0 rows affected (0.25 sec)
mysql> create user test01@'127.0.0.1' identified by '127001'; Query OK, 0 rows affected (0.00 sec)
mysql> create user test01@'192.168.196.128' identified by '192168196128'; Query OK, 0 rows affected (0.01 sec)
mysql> create user test01@'192.168.196.%' identified by '192168196%';Query OK, 0 rows affected (0.17 sec)
mysql> create user test01@'vhost02' identified by 'vhost02'; Query OK, 0 rows affected (0.00 sec)
mysql> create user test01@'vhost03' identified by 'vhost03';Query OK, 0 rows affected (0.12 sec)
test01@localhost、test01@127.0.0.1、test01@192.168.196.128、test01@192.168.196.%、test01@vhost02都存在时
NO.1 不指定-h

NO.2 指定-h localhost

测试127.0.0.1时需要打开skip-name-resolve
NO.3 指定-h 127.0.0.1

NO.4 指定-h 192.168.196.128

NO.5 指定-h vhost02


test01@localhost不存在、test01@127.0.0.1、test01@192.168.196.128、test01@192.168.196.%、test01@vhost02都存在时

test01@192.168.196.128\test01@192.168.196.%
mysql> drop user test01@'192.168.196.128';Query OK, 0 rows affected (0.26 sec)

配置/etc/hosts,再使用-h vhost02登录
vhost02上测试

vhost03上测试

user表中存在多条相同user不同host用户信息时MySQL该匹配哪条记录登录?的更多相关文章
- 在SharePoint中无代码开发InfoPath应用: 获取当前用户信息
很多种不同的场景下,会需要得到当前的用户信息,例如需要根据当前用户判断组,进而控制权限. 首先InfoPath提供了一个userName方法,来实现这个目的,不过这个方法的问题是只能获得不包含域名的用 ...
- webpages框架中使用Html.TextArea()在前台显示多行信息时,如何进行大小、样式的设置
环境:vs2015 webpages框架+razor语法: 目的:服务器进行数据更新操作后,在前台显示更新的相关信息: 后台代码:将更新条数等相关信息存储在一个变量中: @{ var serverIn ...
- 1、JavaScript中的Cookie 用于存储 web 页面的用户信息。
总结:每个浏览器都有一定数量限制的cookie.每个浏览器中,每一个cookie都有一个path路径,指向请求访问的网页. -------------------------------------- ...
- 4、Servlet中的Cookie 用于存储 web 页面的用户信息。
Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. 识别返回用户包括三个步骤: 服务 ...
- 3、JSP中的Cookie 用于存储 web 页面的用户信息。
cookie 在平时生活中的运用 存储用户在网页上的登陆信息,包括账号和密码. 有的网站,登陆的时候,会出现一个选项,问你是否要一周内或者一个月内保持登陆状态.如果你选了,那么一周之内,都不需要再输入 ...
- sql 删除表中的重复记录
嗯,遇见了表中存在重复的记录的问题,直接写sql删除时最快的,才不要慢慢的复制到excel表中慢慢的人工找呢.哼. 如下sql,找出重复的记录,和重复记录中ID值最小的记录(表中ID为自增长) sel ...
- 清除mysql表中数据
delete from 表名; truncate table 表名; 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内 ...
- MySQL查询数据表中数据记录(包括多表查询)
MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...
- mysql 删除表中记录
一.清除mysql表中数据 delete from 表名;truncate table 表名;不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以 ...
随机推荐
- linux命令学习之:ls
ls命令用来显示目标列表,在Linux中是使用率较高的命令.ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件.语法 ls(选项)(参数) 选项说明 -a:显示所有档案及目录(ls内定将档案 ...
- 2019.3.15 关于IE
1. .clearfix {zoom:1} zoom:1 是ie浏览器专有属性 它可以设置或检索对象缩放比例 处理ie的hasLayout属性 清除浮动 清除margin的重叠
- mysql命令行导入结构化数据
数据样本 103252765-|--|-stephanie_mt@hotmail.com-|-o/35+nGaNEU=-|-ion|-- 其中|为分隔符,每行的换行符\n mysql -uroot M ...
- jQuery 作业三个按钮
作业三个按钮 <!--声明 文档--> <!DOCTYPE html> <!--定义字符集--> <html lang="zh-CN"&g ...
- (轉)EasyUI - DataGrid 去右边空白滚动条列
熟悉 EasyUI - DataGrid 的童鞋应该会注意到这样一个情景: 想去掉这块,找了下资料,发现也有人同样纠结:http://www.cnblogs.com/hantianwei/p/3440 ...
- Hadoop(一) HADOOP简介
1. HADOOP背景介绍 1.1 什么是HADOOP HADOOP是apache旗下的一套开源软件平台 HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 H ...
- hdu 1010(DFS) 骨头的诱惑
http://acm.hdu.edu.cn/showproblem.php?pid=1010 题目大意从S出发,问能否在时间t的时候到达终点D,X为障碍 需要注意的是要恰好在t时刻到达,而不是在t时间 ...
- ubuntu12.04下安装Apache+PHP+MySQL
一.Apache1.安装apache2: sudo apt-get install apache2 2.重启apache2: sudo /etc/init.d/apache2 restart 3.在浏 ...
- 显示实现接口的好处c#比java好的地方
所谓Go语言式的接口,就是不用显示声明类型T实现了接口I,只要类型T的公开方法完全满足接口I的要求,就可以把类型T的对象用在需要接口I的地方.这种做法的学名叫做Structural Typing,有人 ...
- PS快捷键大全,记住这些就够了!
希望能帮到大家更好的学习.