阿里RDS新建用户后,设置新的权限只有一个数据库的权限,设置后,依然可以访问所有的数据库,权限没有生效
只对一个数据库授权的时候,
全局权限不要选,是针对全部的,只选择对象权限
您不选择服务器级权限就可以了, 只加对象权限就没有问题.
1.如下图,全局权限不要选择,是针对所有数据库的
2.主机的时候可以空不填,也可以填 % 或者填 localhost
show grants for 账号名 时候报错
There is no such grant defined for user ‘t2‘ on host ‘%‘
授权的时候,主机没有填写 % 或 localhost的原因
3.对象权限有可能需要把reload和file权限去掉,再执行下。
4.涉及到的有关命令:
查看下具体的授权信息:
查看所有:show grants
查看某个用户的:show grants for 账号名
select user,host from mysql.user where user=‘pos‘;
把reload和file权限去掉,再执行下。
/*常规设置*/
CREATE USER ‘pos‘@‘%‘ IDENTIFIED BY ‘xxx‘;
/*高级设置*/
/*服务器权限设置*/
/*数据库权限设置*/
GRANT SELECT,INSERT,UPDATE,REFERENCES,DELETE,CREATE,DROP,ALTER,INDEX,TRIGGER,CREATE VIEW,SHOW VIEW,EXECUTE,ALTER ROUTINE,CREATE ROUTINE,CREATE TEMPORARY TABLES,LOCK TABLES,EVENT ON `pos`.* TO ‘pos‘@‘%‘;
grant all on *.* to [email protected];
5.授权访问实例:
您看下,是否方便授权我们访问您的实例,来创建。 授权步骤: 您登录数据管理,https://dms.console.aliyun.com/#/dms/rsList , 然后在实例管理中,找到您的实例。 然后点击“授权用户”-->添加用户, 账号类型选择“主账号”, 输入我[email protected], 点击确定就可以了。 授权后: 您提供下能创建该账号的登录账号和密码,我们创建下看看
1、请您反馈下授权的是哪个账号,哪个库,哪些库没有授权。
2、执行show grants for 账号名; 您反馈下结果,看下具体的授权信息。
这个错误表示在user表中没有‘pos‘@‘%‘ 这个授权的账号,请您执行下这个SQL,反馈下结果。
select user,host from mysql.user where user=‘pos‘;
您好,您
/*常规设置*/
CREATE USER ‘pos‘@‘%‘ IDENTIFIED BY ‘XX‘;
/*高级设置*/
/*服务器权限设置*/
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, FILE, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, GRANT OPTION, TRIGGER ON *.* TO ‘pos‘@‘%‘;
/*数据库权限设置*/
GRANT SELECT,INSERT,UPDATE,REFERENCES,DELETE,CREATE,DROP,ALTER,INDEX,TRIGGER,CREATE VIEW,SHOW VIEW,EXECUTE,ALTER ROUTINE,CREATE ROUTINE,CREATE TEMPORARY TABLES,LOCK TABLES,EVENT ON `pos`.* TO ‘pos‘@‘%‘;