欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySql 账户管理及授权

程序员文章站 2022-06-01 23:13:00
...

一.账户管理

    创建用户并设置密码   identified by会将纯文本密码加密作为散列值存储

create user 用户名 identified by '密码';

    查看所有用户

SELECT * FROM USER;

user表中host列的值的意义
  %              匹配所有主机
  localhost      localhost不会被解析成IP地址,直接通过UNIXsocket连接
  127.0.0.1      会通过TCP/IP协议连接,并且只能在本机访问;
  ::1            ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1

    删除用户

DROP USER 用户名;

    修改密码

SET PASSWORD FOR 用户名=PASSWORD('密码');

   在添加用户或修改用户成功后连接没反应,刷新配置

FLUSH PRIVILEGES;

二.授权

  用户授权

#给予权限
GRANT 权限 ON 数据库名.表名 TO 用户名

#给予所有权限
GRANT ALL ON *.* TO 用户名

例:
#给予CC查询user权限
GRANT SELECT ON mysql.UserTO CC @'%';

#查看视图源码权限
GRANT show view on mysql.* to CC @'%';

  删除权限

revoke 权限 on 数据库名.表名 from 用户名;

例:
revoke show view on mysql.* from CC @'%';

  查看用户权限

#当前连接的用户权限
show grants;

#指定用户权限
show grants for 用户名