我是靠谱客的博主 大胆鲜花,最近开发中收集的这篇文章主要介绍mysql8---操作用户和授权操作root用户登录数据库创建用户刷新权限查看用户权限移除权限删除用户MySQL 数据库中与权限相关的表权限级别指定权限级别的值有以下几类格式权限列表参考资料,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
root用户登录数据库
创建用户
alter user root@localhost identified with mysql_native_password by '123456';
或者
CREATE USER 'roy'@'localhost' IDENTIFIED BY '123456';
也可以是
CREATE USER 'roy'@'%' IDENTIFIED BY '123456';
这里表示创建一个不限制ip登录的用户 roy
该用户的密码是 123456
%代表不限制ip登录
刷新权限
刷新权限,每一次权限更改后都刷新一下
FLUSH PRIVILEGES;
查看用户权限
SHOW GRANTS FOR roy;
移除权限
revoke all privileges on 数据库名.* from 'roy'@'%';
删除用户
drop user '用户名'@'主机名';
MySQL 数据库中与权限相关的表
MySQL 数据库中与权限相关的表:user、db、tables_priv、columns_priv。
权限级别
<权限级别>
用于指定权限的级别。可以授予的权限有如下几组:
- 列权限,和表中的一个具体列相关。例如,可以使用 UPDATE 语句更新表 students 中 student_name 列的值的权限。
- 表权限,和一个具体表中的所有数据相关。例如,可以使用 SELECT 语句查询表 students 的所有数据的权限。
- 数据库权限,和一个具体的数据库中的所有表相关。例如,可以在已有的数据库 mytest 中创建新表的权限。
- 用户权限,和 MySQL 中所有的数据库相关。例如,可以删除已有的数据库或者创建一个新的数据库的权限。
指定权限级别的值有以下几类格式
对应地,在 GRANT 语句中可用于指定权限级别的值有以下几类格式:
- *:表示当前数据库中的所有表。
- .:表示所有数据库中的所有表。
- db_name.*:表示某个数据库中的所有表,db_name 指定数据库名。
- db_name.tbl_name:表示某个数据库中的某个表或视图,db_name 指定数据库名,tbl_name 指定表名或视图名。
- tbl_name:表示某个表或视图,tbl_name 指定表名或视图名。
- db_name.routine_name:表示某个数据库中的某个存储过程或函数,routine_name 指定存储过程名或函数名。
- TO 子句:用来设定用户口令,以及指定被赋予权限的用户 user。若在 TO 子句中给系统中存在的用户指定口令,则新密码会将原密码覆盖;如果权限被授予给一个不存在的用户,MySQL 会自动执行一条 CREATE USER 语句来创建这个用户,但同时必须为该用户指定口令。
权限列表
GRANT语句中的<权限类型>的使用说明如下:
- 授予数据库权限时,<权限类型>可以指定为以下值:
SELECT:表示授予用户可以使用 SELECT 语句访问特定数据库中所有表和视图的权限。
INSERT:表示授予用户可以使用 INSERT 语句向特定数据库中所有表添加数据行的权限。
DELETE:表示授予用户可以使用 DELETE 语句删除特定数据库中所有表的数据行的权限。
UPDATE:表示授予用户可以使用 UPDATE 语句更新特定数据库中所有数据表的值的权限。
REFERENCES:表示授予用户可以创建指向特定的数据库中的表外键的权限。
CREATE:表示授权用户可以使用 CREATE TABLE 语句在特定数据库中创建新表的权限。
ALTER:表示授予用户可以使用 ALTER TABLE 语句修改特定数据库中所有数据表的权限。
SHOW VIEW:表示授予用户可以查看特定数据库中已有视图的视图定义的权限。
CREATE ROUTINE:表示授予用户可以为特定的数据库创建存储过程和存储函数的权限。
ALTER ROUTINE:表示授予用户可以更新和删除数据库中已有的存储过程和存储函数的权限。
INDEX:表示授予用户可以在特定数据库中的所有数据表上定义和删除索引的权限。
DROP:表示授予用户可以删除特定数据库中所有表和视图的权限。
CREATE TEMPORARY TABLES:表示授予用户可以在特定数据库中创建临时表的权限。
CREATE VIEW:表示授予用户可以在特定数据库中创建新的视图的权限。
EXECUTE ROUTINE:表示授予用户可以调用特定数据库的存储过程和存储函数的权限。
LOCK TABLES:表示授予用户可以锁定特定数据库的已有数据表的权限。
ALL 或 ALL PRIVILEGES:表示以上所有权限。
- 授予表权限时,<权限类型>可以指定为以下值:
SELECT:授予用户可以使用 SELECT 语句进行访问特定表的权限。
INSERT:授予用户可以使用 INSERT 语句向一个特定表中添加数据行的权限。
DELETE:授予用户可以使用 DELETE 语句从一个特定表中删除数据行的权限。
DROP:授予用户可以删除数据表的权限。
UPDATE:授予用户可以使用 UPDATE 语句更新特定数据表的权限。
ALTER:授予用户可以使用 ALTER TABLE 语句修改数据表的权限。
REFERENCES:授予用户可以创建一个外键来参照特定数据表的权限。
CREATE:授予用户可以使用特定的名字创建一个数据表的权限。
INDEX:授予用户可以在表上定义索引的权限。
ALL 或 ALL PRIVILEGES:所有的权限名。
- 授予列权限时,<权限类型>的值只能指定为 SELECT、INSERT 和 UPDATE,同时权限的后面需要加上列名列表 column-list。
参考资料
资料1
最后
以上就是大胆鲜花为你收集整理的mysql8---操作用户和授权操作root用户登录数据库创建用户刷新权限查看用户权限移除权限删除用户MySQL 数据库中与权限相关的表权限级别指定权限级别的值有以下几类格式权限列表参考资料的全部内容,希望文章能够帮你解决mysql8---操作用户和授权操作root用户登录数据库创建用户刷新权限查看用户权限移除权限删除用户MySQL 数据库中与权限相关的表权限级别指定权限级别的值有以下几类格式权限列表参考资料所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复