wsjz_01 发表于 2018-10-11 08:43:29

Mysql用户管理和权限分配

  一.创建用户
  1.登录进入
  root用户的密码初始是空,初始安装完mysql,配置环境变量后。
  在命令窗口输入:
  mysql –u root –p
  在提示输入密码时直接回车进入。
  mysql>

[*]  用户表
  Mysql的用户在mysql数据库的user表里。
  1)选择数据库:
  mysql>use mysql;
  2)选择数据库后就可以执行sql查询,更新等。
  mysql>selecthost,user,password from user;
  host 是用户可以登录的主机地址,只有host的主机可以用该user登录mysql,password显示的是加密后的密码。
  Host的含义:
  192.168.1.23固定IP
  192.168.1.%表示192.168.1网段内的
  %匹配所有主机
  localhost本机,localhost不会被解析成IP地址,直接通过UNIXsocket连接
  127.0.0.1本机IP,会通过TCP/IP协议连接,并且只能在本机访问;
  ::1 就是兼容支持ipv6的,表示同ipv4的127.0.0.1
  3)创建用户
  mysql>create user username   IDENTIFIED by'password';
  username是要创建的用户名,password的是密码,这里输入明码,在数据库里会加密。
  4)修改用户名
  mysql>rename user username to new_username;
  username为原来的用户名,new_username为新用户名。
  5)删除用户
  mysql> drop user new_username;
  6)修改用户密码
  mysql>set password forusername@hostname=password(‘XXXX’);
  也可以直接用sql语句操作。
  mysql> update user set password=’XXXX’ where user=’username’and host=’ hostname’;
  二.分配权限
  分配权限grant,收回权限revoke

[*]  分配mysql所有权限给用户
  grant all on*.* tousername @localhost;
  说明:@后面是hostname’

[*]  给用户分配数据库权限
  grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
  grant select on mydb.* to username @localhost;
  grant insert on mydb.* to username @localhost;
  grant update on mydb.* to username @localhost;
  grant delete on mydb.* to username @localhost;
  或者,用一条 MySQL 命令:
  grant select, insert, update, delete on mydb.* to username @localhost;
  说明:mydb 是数据库名称,mydb.*表示mydb数据库里所有对象。单个表或视图是mydb.log。log为日志表。

[*]  其他命令:
  grant create on ,

  grant>  grant drop on ,
  grant references(外键) on ,
  grant create temporary(临时表) tables on,
  grant index on,
  grant create view on,
  grant show view on,
  grant create routine(存储过程、函数) on,
  grant execute on

[*]  注意:修改完权限以后 一定要刷新服务,或者重启服务,刷新服务用:FLUSH PRIVILEGES。

页: [1]
查看完整版本: Mysql用户管理和权限分配