首页 > 数据库技术 > 详细

MySQL 用户管理和权限管理

时间:2020-02-16 10:28:18      阅读:54      评论:0      收藏:0      [点我收藏+]

创建用户

基本语法格式

CREATE USER 用户名@主机名 IDENTIFIED BY 密码;

 

关键字说明

 

关键字  

说明

用户名  

将创建的用户名

主机名   

指定该用户在哪个主机上可以登陆,如果是本地用户可用 localhost,如果想让该用户可以 从任意远程主机登陆,可以使用通配符%

密码         

该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

 

具体操作

  • 创建 user1 用户,只能在 localhost 这个服务器登录 mysql 服务器,密码为 123

    create user user1@localhost identified by 123;

     

  • 创建 user2 用户可以在任何电脑上登录 mysql 服务器,密码为 123

    create user user2@% identified by 123;
    备注:创建的用户名都在 mysql 数据库中的 user 表中可以查看到,密码经过了加密。创建的新用户都是没什么权限的,需要授权。

 

给用户授权

用户创建之后,没什么权限!需要给用户授权。

基本语法格式

GRANT 权限1, 权限2, ... ON 数据库名.表名 TO 用户名@主机名;

 

关键字说明

关键字

说明

GRANT...ON...TO

授权关键字

权限

授予用户的权限,如 CREATE、ALTER、SELECT、INSERT、UPDATE 等。如果要授 予所有的权限则使用 ALL

数据库名.表名

该用户可以操作哪个数据库的哪些表。如果要授予该用户对所有数据库和表的相应操作 权限则可用*表示,如*.*

用户名‘@‘主机名

给哪个用户授权,注:有 2 对单引号

 

具体操作

  • user1 用户分配对 test 这个数据库操作的权限:创建表,修改表,插入记录,更新记录,查询

    grant create, alter, insert, update, select on test.* to user1@localhost;

     

  • user2 用户分配所有权限,对所有数据库的所有表

    grant all on *.* to user2@%;

     

撤销用户权限

基本语法格式

REVOKE 权限1, 权限2, ... ON 数据库.表名;

 

关键字说明

关键字

说明

REVOKE...ON...FROM

撤销授权的关键字

权限

用户的权限,如 CREATE、ALTER、SELECT、INSERT、UPDATE 等,所有的权 限则使用 ALL

数据库名.表名

对哪些数据库的哪些表,如果要取消该用户对所有数据库和表的操作权限则可用*表 示,如*.*

用户名‘@‘主机名

给哪个用户撤销

 

具体操作

  • 撤销 user1 用户对 test 数据库所有表的操作的权限

    revoke all on test.* from user1@localhost;

     

查看用户权限

基本语法格式

SHOW GRANTS FOR 用户名@主机名;

 

具体操作

  • 查看 user1 用户的权限

    SHOW GRANTS FOR user1@localhost;

     

删除用户

基本语法格式

DROP USER 用户名@主机名;

 

具体操作

  • 删除 user2

    drop user user2@%;

     

修改管理员密码

基本语法格式

该语句是在控制台使用的,不是登录MySQL里面使用的。

mysqladmin -u用户名 -p password 新密码
注意:需要在未登陆 MySQL 的情况下操作,新密码不需要加上引号。

 

具体操作

root 管理员的新密码改成 123456

第一步:cmd上(macOS在终端)输入下面的语句

mysqladmin -uroot -p password 123456

第二步:输入上面这条语句后,按回车,会提示输入旧密码,输入旧密码,再按回车就修改成功了。

备注:假如修改失败,找不到mysqladmin命令,说明MySQL环境变量没有配置好。自行查找相关资料配置环境变量。

 

修改普通用户密码

基本语法格式

该语句是要登录MySQL才能使用的。

set password for 用户名@主机名 = password(新密码);
注意:需要在登陆 MySQL 的情况下操作,新密码要加单引号。

 

具体操作

  • 将‘user1‘@‘localhost‘的密码改成‘666666‘

    set password for user1@localhost = password(666666);

     

 

MySQL 用户管理和权限管理

原文:https://www.cnblogs.com/liyihua/p/12315622.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!