数据库教程:mysql对用户的操作

修改用户名(用户重命名)

在MySQL中,我们可以使用RENAME USER语句修改一个或多个已经存在的用户账号。

语法:RENAME USER <旧用户> TO <新用户>

其中:

<旧用户>:系统中已经存在的 MySQL 用户账号。

<新用户>:新的 MySQL 用户账号。

使用 RENAME USER 语句时应注意以下几点:

RENAME USER 语句用于对原有的 MySQL 用户进行重命名。

若系统中旧账户不存在或者新账户已存在,该语句执行时会出现错误。

使用 RENAME USER 语句,必须拥有 mysql 数据库的 UPDATE 权限或全局 CREATE USER 权限。

数据库教程:mysql对用户的操作
 

删除用户

 在 MySQL 数据库中,可以使用 DROP USER 语句删除用户,也可以直接在 mysql.user 表中删除用户以及相关权限。

使用 DROP USER 语句删除普通用户

语法:DROP USER <用户1> , <用户2> …

例:DROP USER ‘test1‘@‘localhost‘;

使用 DROP USER 语句应注意以下几点:

DROP USER 语句可用于删除一个或多个用户,并撤销其权限。

使用 DROP USER 语句必须拥有 mysql 数据库的 DELETE 权限或全局 CREATE USER 权限。

在 DROP USER 语句的使用中,若没有明确地给出账户的主机名,则该主机名默认为“%”。

注意:用户的删除不会影响他们之前所创建的表、索引或其他数据库对象,因为 MySQL 并不会记录是谁创建了这些对象。

使用DELETE语句删除普通用户

可以使用 DELETE 语句直接删除 mysql.user 表中相应的用户信息,但必须拥有 mysql.user 表的 DELETE 权限。

语法:delete from mysql.user where host=‘hostname‘ and user=‘username‘;

用户权限

查看用户权限

-- 1、查看 mysql.user 表中的数据记录来查看相应的用户权限;

SELECT * FROM mysql.user;

-- 2、使用 SHOW GRANTS 语句查询用户的权限。

-- 查看当前用户(自己)权限

show grants ;

-- 查看其他用户权限

show grants for ‘username‘@‘hostname‘;

示例:show grants for ‘iap‘@‘%‘;

刷新权限

对用户做了权限变更之后,一定记得重新加载一下权限,将权限信息从内存中写入数据库。

-- 刷新权限

flush privileges;

删除撤销权限

在 MySQL 中,可以使用 REVOKE 语句删除某个用户的某些权限(此用户不会被删除),在一定程度上可以保证系统的安全性。例如,如果数据库管理员觉得某个用户不应该拥有 DELETE 权限,那么就可以删除 DELETE 权限。

使用 REVOKE 语句删除权限的语法格式有两种形式,如下所示:

第一种: 删除用户某些特定的权限,语法格式如下:

remove priv_type [(column_list)]...

ON database.table

from user [, user]...

REVOKE 语句中的参数与 GRANT 语句的参数意思相同。其中:

priv_type 参数表示权限的类型;

column_list 参数表示权限作用于哪些列上,没有该参数时作用于整个表上;

user 参数由用户名和主机名构成,格式为“username‘@‘hostname‘”。

第二种:删除特定用户的所有权限,语法格式如下:

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...

删除用户权限需要注意以下几点:

REVOKE 语法和 GRANT 语句的语法格式相似,但具有相反的效果。

要使用 REVOKE 语句,必须拥有 MySQL 数据库的全局 CREATE USER 权限或 UPDATE 权限。

数据库教程:mysql对用户的操作
 

另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许可以帮到你~

点击此处免费分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

免费学习书籍:

数据库教程:mysql对用户的操作
 

免费学习资料:

数据库教程:mysql对用户的操作
 

数据库教程:mysql对用户的操作

上一篇:(4.59)sql server中的RowVersion字段类型


下一篇:MongoDB副本集配置hidden从库