在mysql数据库中,有mysql_install_db脚本初始化权限表,存储权限的表有:
- user表
- db表
- host表
- table_priv表
- columns_priv表
- proc_priv表
MySQL存取控制包含2个阶段:
阶段1:服务器检查你是否允许连接。
阶段2:假定你能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施它。例如,如果你从数据库中一个表精选(select)行或从数据库抛弃一个表,服务器确定你对表有select权限或对数据库有drop权限。
服务器在存取控制的两个阶段使用在mysql的数据库中的user、db和host表表示,
表名称 user db host
范围字段 Host Host Host
User Db Db
Password User
表名称 | user | db | host |
---|---|---|---|
范围字段 | host,use,password | host,db,user | host,db |
权限的键以 _priv 结尾:
使用CREATE语句创建新用户
CREATE USER user[IDENTIFIED BY [PASSWORD] 'password'],
[user[IDENTIFIED BY [PASSWORD] 'password']]...
创建用户
CREATE USER 'admin'@'%' IDENTIFIED BY 'admin'
授予权限
grant all privileges on