Mysql用户管理与安全
前边已经介绍了用户基本信息与日常操作权限内容;接下来对用户自身结构与安全相关内容进行简单汇总
用户权限配置补充
前边提到过用户及权限相关信息是持久化在mysql.user 系统表里边的;但系统在使用该数据的时候是先将该表数据进行特别排序后;加载并缓存到内存中;每次做用户登录认证,权限校验,资源校验以及用户状态识别,都是直接使用内存中的缓存数据。所以我们在使用管理语句修改用户权限时;系统会在修改表数据后自动刷新内存数据;
但若是使用 INSERT、UPDATE或DELETE 表操作语句修改mysql.user 表;系统不会主动加载修改后的数据;只会在系统重启,或者手动触发加载 操作;
手动触发重新加载操作使用:
FLUSH PRIVILEGES
注意:在默认情况下系统启动的时候会加重user表数据;但若是启动项中存在: –skip-grant-tables 选项;则系统不会加载user 表数据;其产生的后果就是所有连接都可以请求;并且不会校验权限; 此时使用 FLUSH PRIVILEGES 语句可以在运行中开启权限校验(将user表加载到内存);
其次对表和列的权限修改;会在下一次请求连接中生效;
对数据相关权限修改;会在下一次 USE db_name 语句时生效;
用户表剩余字段介绍
用户表除了前边介绍的用户名,权限字段外;还包含SSL安全连接,资源限制,密码相关,用户锁定状态;SSL安全连接后边再单独梳理;现在主要说明一下资源限制与密码相关内容。
资源限制
资源限制关联字段有:
`max_questions` int(11) unsigned NOT NULL DEFAULT '0',
`max_updates` int(11) unsigned NOT NULL DEFAULT '0',
`max_connections` int(11) unsigned NOT NULL DEFAULT '0',
`max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',
</