mysql创建用户并赋权


转载地址:https://blog.csdn.net/luguodehua/article/details/80327462

1.使用root用户登录mysql数据库

输入如下指令:

SELECT * FROM mysql.user;

得到所有用户及对应权限。

2.创建用户

CREATE USER  'user_name'@'host'  IDENTIFIED BY  'password'

user_name:为创建用户的名字

host:表示要这个新创建的用户允许从哪台机登陆。

    如果只允许从本机登陆,则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’

password:新创建用户的登陆数据库密码,如果没密码可以不写。

例如:

1)

CREATE USER  'aaa'@'localhost' IDENTIFIED BY '123456';

//表示创建的新用户,名为aaa,这个新用户密码为123456,只允许本机登陆;

2)

CREATE USER  'bbb'@'%' IDENTIFIED BY '123456'

//表示新创建的用户,名为bbb,这个用户密码为123456,可以从其他电脑远程登陆mysql所在服务器;

3)

CREATE USER  'ccc'@'%';

//表示新创建的用户ccc,没有密码,可以从其他电脑远程登陆mysql服务器

我们新建一个用户看一下,

CREATE USER 'aaa'@'localhost' IDENTIFIED BY '123456';
SELECT * FROM mysql.user;

我们可以看到新增的用户aaa.

3.对用户进行授权

命令:

GRANT PRIVILEGES ON  databasename.tablename  TO  'username'@'host';

privileges:表示要授予什么权限,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL

databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 *.*,*是一个通配符,表示全部。

'username'@'host':表示授权给哪个用户。

例如:

1)

GRANT  selectinsert  ON  emp.emp TO 'aaa'@'localhost'; 

//表示给用户aaa授权,让aaa能给emp库中的emp表 实行 insert 和 select。

2)

GRANT  ALL  ON  *.*  TO  'aaa'@'localhost';
//表示给用户aaa授权,让aaa能给所有库所有表实行所有的权力。

我们给新创建的aaa用户赋予所有的权限

GRANT  ALL  ON  *.*  TO  'aaa'@'localhost';

可以看到aaa用户的权限已做了改变,有N-->Y。

4.删除用户

指令:

DROP  USER 'aaa'@'localhost';

5.设置与更改用户密码

指令:

SET  PASSWORD  FOR  'username'@'host' = PASSWORD('newpassword');

如果是设置当前用户的密码:

SET  PASSWORD = PASSWORD('newpassword');
如:
SET  PASSWORD = PASSWORD('123456');

6.撤销用户权限

指令:

REVOKE PRIVILEGES ON database.tablename FROM 'username'@'host';

  例如:撤销用户aaa的select权限

REVOKE SELECT ON *.* FROM 'aaa'@'localhost';

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM