Mysql用户登陆验证过程 & 案例
Mysql用户登陆验证过程:
1、Mysql server将user表读入到内存中,然后排序,排序原则下面会讲
2、客户端尝试连接Mysql服务器,服务器扫描内存中排序过后的user表的条目
3、Mysql服务器采纳第一行匹配的客户端名和用户名,然后验证通过
Mysql服务器内存中user表排序原则:
2、user表的host列,文本主机名(Literal host names)和IP地址是最具象的。子网掩码的方式,如(#请自行替换为@)
## 不重启mysql服务修改配置
InnoDB查看行会很慢,不会记录每次执行此语句都会重新遍历一次;
MyISAM查看很快,因为已经提前将总数记录在内容中了;
若遇到mysql启动不了,或者其他错误,去查看一下它的日志,日志在/etc/init.d/mysqld这个文件里的datadir里定义了;我们是放在/data/mysql目录下,有一个与hostname同名,以.err结尾的日志文件,可以去查看错误内容,帮助解决问题。
1. mysql.user表实例:一般来说,Host字段都使用ip来限制,而不是机器名(机器名可变,不是特别靠谱)