mysql加强(1)~用户权限介绍、分别使用客户端工具和命令来创建用户和分配权限

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: mysql加强(1)~用户权限介绍、分别使用客户端工具和命令来创建用户和分配权限

一、用户权限(使用Navicat创建用户和分配权限)

1、权限结构:全局/数据库/表/列权限

2、主要权限(全部权限-ALL):

权限 权限级别 权限说明
CREATE 数据库、表、索引 创建数据库、表、索引
CREATE VIEW 视图 创建视图
DROP 数据库、表 删除创建数据库、表
UPDATE 更新表
INSERT 插入数据于表
DELETE 删除表数据
ALTER 更改表,比如,添加字段、索引
SELECT 查询
INDEX 索引
EXECUTE 存储过程 执行存储过程

3、权限分布:


9.png


二、使用Navicat客户端工具创建用户和分配权限:

(1) 全局权限:

10.png

11.png


(2) 数据库权限:


12.png

13.png

(3) 表权限:


14.pngimage.png



(4)列权限:


16.png17.png


三、mysql分配权限相关命令(授权grant、查看权利show grants、撤销权利revok、删除用户drop user):


1、赋予权限命令 grant:

■ 语法:

grant 权限

on 数据库对象

to 用户 identified by '密码'

with grant option;


(1) 当已经存在用户(例如shan)时,赋予查询权限在数据库mysqldemo中的表t_stu(数据库对象)到用户shan

语法:grant select on mysqldemo.t_stu to shan@localhost;

grant 权限

on 数据库对象

to 用户;


(2) 当用户不存在时(例:创建用户shan,密码是1),赋予查询权限在数据库mysqldemo中的表t_stu(数据库对象) 到用户shan

语法: grant select on mysqldemo.t_stu to shan@localhost identified by '1';

grant 权限

on 数据库对象

to 用户 identified by '密码';


(3) 当用户不存在时, 将授权GRANT OPTION 的权利也赋给当前用户(例:创建用户shan,密码是1),赋予查询权限在数据库mysqldemo中的表t_stu(数据库对象) 到用户shan

语法: grant select on mysqldemo.t_stu to shan@localhost identified by '1' with grant option;

grant 权限

on 数据库对象

to 用户 identified by '密码'

with grant option;


✿ 分配权限的细节:

■ shan@localhost:shan用户,是只能在本地主机访问。

□ 用户账号:user@host,其中host的值,% 从任意地址访问, 10.250.8.% 只能访问特定的网段, 192.168.1.8 只能访问特定的ip。

localhost: 本机地址。

□ 查看电脑ip命令:ipconfig


2、查看用户的权限命令 show grants:

(1) 查看当前用户权限: show grants;

(2) 查看某个用户权限: show grants for 用户账号;

例如:在cmd控制台,以root 用户进入mysql,然后查看lucy的权限: show grants for lucy@localhost;


3、回收权限命令 revoke:

■ 语法:

revoke 权限

on 数据库对象

from 用户

例如:revoke select on . from lucy@localhost;

□ 注意:使用revoke 回收所有权限,则操作者必须是拥有mysql数据的全局create user或 update 权限。


4、删除用户账号权限 drop user:

■ 语法:drop user 用户账号;

例如:drop user lucy@localhost;

若主机是%,语法记得加上 '' 例如:drop user lucy@'%';

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
14天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
28 1
|
17天前
|
SQL NoSQL 关系型数据库
|
24天前
|
存储 关系型数据库 MySQL
基于案例分析 MySQL 权限认证中的具体优先原则
【10月更文挑战第26天】本文通过具体案例分析了MySQL权限认证中的优先原则,包括全局权限、数据库级别权限和表级别权限的设置与优先级。全局权限优先于数据库级别权限,后者又优先于表级别权限。在权限冲突时,更严格的权限将被优先执行,确保数据库的安全性与资源合理分配。
|
1月前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
2月前
|
安全 关系型数据库 MySQL
Navicat工具设置MySQL权限的操作指南
通过上述步骤,您可以使用Navicat有效地为MySQL数据库设置和管理用户权限,确保数据库的安全性和高效管理。这个过程简化了数据库权限管理,使其既直观又易于操作。
334 4
|
2月前
|
存储 关系型数据库 MySQL
MySQL基础命令及使用示例
这些基础命令构成了与MySQL数据库交互的核心,理解并掌握它们对于进行有效的数据库操作至关重要。在实际使用中,建议结合实际案例和需求来练习这些命令,以加深理解和提高效率。
28 3
|
1月前
|
关系型数据库 MySQL 数据库
Mysql 常用命令
Mysql 常用命令
22 0
|
8天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
22 4
|
6天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
19 1
|
15天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
77 1