数据库教程:mysql对用户的操作
修改用户名(用户重命名)
在MySQL中,我们可以使用RENAME USER语句修改一个或多个已经存在的用户账号。
语法:RENAME USER <旧用户> TO <新用户>
其中:
<旧用户>:系统中已经存在的 MySQL 用户账号。
<新用户>:新的 MySQL 用户账号。
使用 RENAME USER 语句时应注意以下几点:
RENAME USER 语句用于对原有的 MySQL 用户进行重命名。
若系统中旧账户不存在或者新账户已存在,该语句执行时会出现错误。
使用 RENAME USER 语句,必须拥有 mysql 数据库的 UPDATE 权限或全局 CREATE USER 权限。
删除用户
在 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 权限。
另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许可以帮到你~
点击此处免费分享(源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
免费学习书籍:
免费学习资料:
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341