mysql 用户管理和权限设置

来源:互联网 发布:protools mac破解版 编辑:程序博客网 时间:2024/05/16 01:26

  • 1user表中host列的值的意义
  • 2用户管理
      • 查看
      • 创建
          • 直接创建并赋权限 推荐
          • 创建 identified by 会将纯文本密码加密作为散列值存储
          • 直接向数据表添加
      • 修改
      • 更改密码
      • 删除
  • 3权限管理
      • 查看用户权限
      • 赋予用户权限
  • 4 回收权限
  • 最后刷新权限

1、user表中host列的值的意义

% 匹配所有主机

localhost localhost不会被解析成IP地址,直接通过UNIXsocket连接

127.0.0.1 会通过TCP/IP协议连接,并且只能在本机访问;

::1 ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1

2、用户管理

查看

select  `host`, `user` , `password`   from   `mysql`. `user` ;

创建

1.直接创建并赋权限 (推荐)
grant   all    on   *.*  to   'admin'@'%'    identified  by   'password'   ;
2.创建 identified by 会将纯文本密码加密作为散列值存储
create   user    zx_root   IDENTIFIED  by   'password';
3.直接向数据表添加
INSERT INTO `mysql`.`user` VALUES ('%', 'mysqltest', password("hello123"), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y','Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', '0', '0', '0', '0', 'mysql_native_password', '', 'N');

修改

rename   `mysql`.`user`    'feng'   to     'newuser';

//mysql 5之后可以使用,之前需要使用update 更新user表

更改密码

set   password   for   zx_root = password ( 'xxxxxx' );update    `mysql`. `user`    set    password = password ( 'xxxx' )   where   `user` = 'otheruser';

删除

DELETE   FROM   `mysql`. `user`   WHERE   `User`   =  '' ;DROP   USER   'user'   [,'user' ...] ;#或则如果不希望用户在系统中存在,可以按如下方式撤销revoke all privileges,grant from user

3、权限管理

查看用户权限

show grants  for   zx_root;

赋予用户权限

grant   权限1,权限2,…权限n  on   数据库名称.表名称  to   '用户名' @ '用户地址' identified  by   ‘连接口令’;
  1. 权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
  2. 权限1,权限2,…权限n被all privileges或则all代替,表示赋予用户全部权限。
  3. 当数据库名称.表名*.*代替,表示赋予用户操作服务器上的所有数据库的所有的表。
  4. 用户地址可以是localhost,也可以是IP地址、机器名字、域名。也可以用%表示允许从任何地址连接。
  5. ‘连接口令’未登录状态不能为空,否则创建失败。已登录可以为空。
权限 说明 all privileges或则all 表示赋予用户全部权限 select 查询 insert 增加 update 修改 delete 删除 create 创建数据库或则表 drop 删除数据库或则表 index 可以试用create index 和drop index alter 修改表结构 grant 权限控制 references 外键(Foreign Key) reload 必须拥有reload权限,才能执行flush [tables、logs、privileges] shutdown 试用mysqladmin shutdown来关闭mysql process 通过这个权限,用户可以执行SHOW PROCESSLIST和KILL命令 file 使用select into outfile 和load data infile
但是不要把file,process,super权限授予管理员以外的帐号,
这样存在严重的安全隐患

4、 回收权限

revoke select  on dmc_db.*  from zx_root;

//如果权限不存在会报错

上面的命令也可使用多个权限同时赋予和回收,权限之间使用逗号分隔

最后:刷新权限

重新刷权限表到内存了

FLUSH  PRIVILEGES ;
0 0
原创粉丝点击