mysql的user表和权限验证

mysql库中user表

host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%

mysql权限表的验证过程为:

此处引用

先从user表中的Host,User,Password这3个字段中判断连接的ip、用户名、密码是否存在,存在则通过验证。
通过身份认证后,进行权限分配,按照user,db,tables_priv,columns_priv的顺序进行验证。即先检查全局权限表user,如果user中对应的权限为Y,则此用户对所有数据库的权限都为Y,将不再检查db, tables_priv,columns_priv;如果为N,则到db表中检查此用户对应的具体数据库,并得到db中为Y的权限;如果db中为N,则检查tables_priv中此数据库对应的具体表,取得表中的权限Y,以此类推。

mysql 配置

在 /etc/my.cnf 的 [mysqld]下加入 skip-grant-tables #跳过数据库权限验证

[mysqld] 下的 bind-address = 0.0.0.0
3306端口监听在127.0.0.1,只有本机客户端可以访问,其他服务器无法访问

3306端口如果监听在0.0.0.0上,如果没有端口限制,那么其他服务器则可以连接该服务器的该端口

猜你喜欢

转载自blog.csdn.net/qq_42146775/article/details/106569110