一、场景
在 MySQL 创建 kanglll 用户,授权只能访问 data_exchange 数据库,生效后用Navicat 连接后会显示 information_schema 数据库,经过下面的测试后发现 information_schema 表中的信息 针对 data_exchange 只开放了部分表的访问权限,这下我就放心了,也就是 说 针对 kangll用户 只能 访问 data_exchange 数据库的 权限授予是成功的。
二、问题说明
1.Navicat 中查询表INNDB_LOCKS
使用 创建的用户登录mysql 查询 INNDB_LOCKS,我发现 kangll 用户是没有访问的权限的
2. root 登录 MySQL 查看 kangll 用户的 权限列表
usage 为 用户的登录权限,创建用户后就有了也不能撤销,下面就是为用户 data_exchange 授予的 data_exchange 数据库的全部使用权限。
3. kangll 用户 可以访问 information_schema 中的 VIEWS 表
综上,我的授权是成功的,information_schema 表是 只有部分 kangll 可访问到的信息。
4.某个用户使能访问 data_exchange 数据库 授权访问
create database data_exchange character set utf8;
CREATE USER 'data_exchange'@'%' IDENTIFIED BY '2020';
GRANT ALL PRIVILEGES ON *.* TO 'data_exchange'@'%';
FLUSH PRIVILEGES;