八、MySQL--用户权限

1.MYSQL四个基本库

  • information_schema 信息库、数据字典库 --》中央情报局
  • performance_schema 性能架构库 --》国安局
  • mysql --》中南海
  • sys
  • #mysql库中存放着记录权限的表user、db、tables_priv、columns_priv
  • #权限检查顺序 user --》db --》tables_prib -->column_priv

2.创建用户

        create user user_name@可访问ip地址 identified by 密码

%为通配符,意思为代替任意字符,不限长度

八、MySQL--用户权限_第1张图片

3.授予权限

        ①grant all on *.* to 'robot'@'%' 

grant 是mysql授权的命令

all 表示所有的权限(select、update、delete、insert)

on *.*在所有数据库上所有表里, 第一个*代表数据库,第二个*代表库里所有的表里

to 'robot'@'%'给robot这个用户,可以从任意ip地址远程连接过来,@只是分配符 %代表ip地址是MySQL里的通配符

通过SQLyog通过robot用户远程连接数据库,可以进行除了给普通用户授权之外的任何操作

八、MySQL--用户权限_第2张图片

 在user表里可以看到robot的所有权限 

八、MySQL--用户权限_第3张图片

        ② grant all on sc.* to 'robot'@'%';

        #给用户robot操作sc库所有表所有操作的权限--》db表存储的权限

八、MySQL--用户权限_第4张图片

        ③ grant all on sc.t1 to 'robot'@'%';

        #给用户robot操作sc库t1表所有操作的权限 --》tables_priv表存储的权限

八、MySQL--用户权限_第5张图片

         ④grant select(id) on sc.t1 to 'robot'@'%';

        #给用户robot操作sc库t1表选择查看id列的权限  --》column_priv表存储的权限

八、MySQL--用户权限_第6张图片

 4.收回权限

        revoke all on *.* from 'robot'@'%'

        #收回用户robot的所有权限

你可能感兴趣的:(MySQL,mysql,数据库,database)