mysql 用户管理

mysql.user表是用来记录用户信息的。

=>字段host表示在这个ip范围可以用该用户来访问mysql。localhost表示只有本地可以登录,%表示在所有主机可以登录,42.121.6.%表示ip段在42.121.6的主机可以登录。
=>user、password表示登录的用户名和密码。

显示所有用户

    select distinct user from mysql.user;

查看某个用户的权限

    show grants for ‘user2′;
    show grants ;//查看当前用户的权限

刷新权限

FLUSH PRIVILEGES;

注意:在创建完用户后,又刷新下权限才能用新建的用户来登录

创建用户

  命令:  CREATE USER ’username’@'host’ IDENTIFIED BY ’password’;

  说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器,应该用PASSWORD()函数来加密密码.
  例:用root用户创建用户user1,密码为123,本地可访问

      $ mysql -u root -p  #以root用户登录

      Enter password:  #输入root用户密码

      mysql>create user ‘user1′@’localhost’ identified byPASSWORD(‘123’);  #进入mysql后创建用户

      mysql>flush privileges;  #刷新权限

      mysql>exit;#exit退出mysql

      $ mysql - u user1 -p  #以刚创建的用户user1登录
      Enter password:  #输入user1用户密码

      mysql>   #此时以user1用户登录成功      

用户授权

  命令:grant  privileges on databasename.tablename to ‘user’@'%’ <identified by 'password'>
  说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等.如果要授予所的权限则使用all;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
  例1.赋用户user2/user2 予select和insert权限

  mysql> grant select,insert on test.tab1 to ‘user2′ <identified by ‘user2′>;

  例2.授予所有权限
  mysql> grant all on test.tab1 to ‘user2 ‘<identified by ‘user2'>;

  例3.授予某个数据库中表的所有权限  (使用* 匹配  privileges可写可不写)
  mysql> grant all(privileges) on test.*to ‘user2 ‘ identified by ‘user2′;
权限传递:
    注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

撤销用户权限

  命令: REVOKE privilege ON databasename.tablename FROM ’username’@'host’;

  说明: privilege, databasename, tablename - 同授权部分.

  例子: REVOKE SELECT ON *.* FROM ’pig’@'%’;

注意: 假如你在给用户’pig’@'%’授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO ’pig’@'%’, 则在使用REVOKE SELECT ON *.* FROM ’pig’@'%’;命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO ’pig’@'%’;则REVOKE SELECT ON test.user FROM ’pig’@'%’;命令也不能撤销该用户对test数据库中user表的Select 权限. (表要对应

设置mysql密码

  命令:SET PASSWORD FOR ‘username’@'host’ = PASSWORD(‘newpassword’);
       如果是当前登陆用户用SET PASSWORD = PASSWORD(“newpassword”);
    例1、更改自己的密码
        set password=password(’123′);
    例2、更改其他用户密码
        set password for user2 =password(’234′)

删除用户

   命令:drop user ‘username’@'%’    
   例如: drop user ‘user2′
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值