mysql数据库应用的权限层级_MySQL数据库的用户权限管理

嗨!各位小伙伴

今天翻了一下历史记录

MySQL 数据库还有点内容

今天开始我们就来补上吧~

用户权限管理

伙伴们要知道,在数据库方面有两个方向。一个是数据库管理员(Database Administrator)简称DBA,一个是数据库开发工程师(Database Developer),

其中:

1) 数据库开发工程师的主要职责是设计和开发数据库管理系统和数据库应用软件系统,侧重于软件研发;

2) DBA 的主要职责是运维和管理数据库管理系统,侧重于运维管理。

不知道小伙伴们有没有想往这方面发展的,当然作为一个开发人员,对数据库还是要有一定的了解的,今天我们就来初步了解一下 MySQL 数据库的权限管理。

首先 MySQL 是一个多用户的数据库系统,按权限,用户可以分为两种:root 用户,超级管理员,和由 root 用户创建的普通用户。

用户的权限要经过两个阶段:

第一阶段:有没有权限链接到数据库,就是用户名和密码拉~

第二阶段:有没有权限对数据库进行操作如:(create , drop , select , delete等等。)

第一阶段

对于第一阶段服务器判断用户有没有权限链接依据的是三个参数:

host:你从哪儿来?

user:你是谁?

password:你的密码是多少?

登录连接命令。

mysql -h(host) -u(user) -p(password) -P(port)

其中 host 指的是你安装数据库的服务器的 IP 地址,user 是用户名,password 是你的用户密码,-P 是你要连接的端口号。

现在我们来试一下:

现在我已经链接上我的数据库了(只有一台电脑)。

5ebf74927b4d109eb77bc5640b179f94.png

现在我们来查一下MySQL数据库。

d1d66654fe5e6d5536f7bff8954deeb4.png

用户的信息都存储在 mysql 的 user 表中。

select host,user,password from user;

7b95ceb2bbf06e997b4c72078b4a4103.png

host : 访问数据库客户端机器的IP地址。localhost 与 127.0.0.1 :代表本地

user : 用户名称

password :密码

我们看到在 localhost 中没有用户名和密码也可以登陆数据库

我们来试一下,现在成功登陆了呦~

afbdb3353c6324310da3a639696074ab.png

我们没有用户名和密码就登陆了我们的数据库,出于对数据的安全性考虑,我们来删除这个空的用户,删除的时候要注意用户的权限,我们要登陆 root 用户进行删除。现在这个空的用户就被删除了。

415c62b44b8cc261aedc6944edbdd5f6.png

第二个阶段

create user 命令

create user : 用于创建 MySQL 账户

语法:

create user username identified by 'pwd';

现在我们来创建一个账号 user1,

eg: create user user1 identified by '1234';

cf10d779842c1ea91d728dac9df1ff4f.png

% :表示所有 IP 地址客户端都可以访问。现在这边只是有一个账号,没有账号权限,我们试着登陆一下~

03c8e7dce3f09be1a4dd860306ed04dd.png

登陆成功,但是看不到我们的数据库(图上的两个一个是我们的默认数据库,一个是练习数据库),现在我们来给账号分配权限。

grant 命令

grant : 命令用来管理访问权限,也可以用来创建和删除账号。

语法:

grant [权限1,权限2,...] on *.* to user@host identified by 'password';

常见的权限:

all, create, drop, insert, update, delete,select

把所有的权限给账号名为 user,密码为 password 的账号

grant all privileges on *.* to user@host identified by 'password';

现在我们来给账号 user1 分配权限。

eg:

grant all privileges on *.* to 'user1'@'localhost' identified by '1234';

flush privileges; 冲刷权限

102a8ce23a1b3bb37db8985327370dcf.png

现在我们再来登陆试一下。就可以看见我们数据库中的内容了

525985feb03197edbe68a8df219379ee.png

revoke 命令

revoke :用来收回权限

语法:

revoke [权限1,权限2,...] on *.* from user@host;

收回用户user在host上访问数据库的所有权限。

revoke all privileges on *.* from user@host;

现在我们收回 user1 的所有权限。

revoke all privileges on . from 'user1'@'localhost';

09ce9dad5b13b242a1c1102cde8878cb.png

登陆 user1 来看一下~我们的权限都被收回了。

b76a135987aed404d5b3fe411cbb303a.png

drop user 命令

drop user :用来删除闲置或没用的 MySQL 账户。

语法:

drop user user@host;

我们来回收账号 user1

drop user 'user1'@'localhost';

4b43a63a2a67bca2e7f340147d0110bb.png

现在我们的账号 user1 就被删除了。

今天的分享就到这了

小伙伴们加油了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux i2c adapter 增加设备_Linux驱动之I2C驱动架构

一、Linux的I2C体系结构主要由三部分组成:(1) I2C核心提供I2C控制器和设备驱动的注册和注销方法,I2C通信方法,与适配器无关的代码以及探测设备等。(2) I2C控制器驱动(适配器)(3) I2C设备驱动二、重要的结构体i2c_adapter//i2c控制器(适配器)i…

Alpha-end

前言 失心疯病源10团队代码管理github个人感悟 肝不动了,肝不动了。明天如果见不到我,不要太想我。站立会议 队名:PMS530雨勤(组长) 今天完成了那些任务 熬夜肝代码代码签入github明天的计划 肝到凌晨还剩下哪些任务 团…

html 01前沿-web介绍

1. 认识网页 网页主要由文字、图像和超链接等元素构成。当然,除了这些元素,网页中还可以包含音频、视频以及Flash等。 2. 浏览器(显示代码) 浏览器是网页显示、运行的平台,常用的浏览器有IE、火狐(Firefox…

避免写慢SQL

最近在整理数据库中的慢SQL,同时也查询了相关资料。记录一下,要学会使用执行计划来分析SQL。 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同…

为什么子孙后代会讨厌使用java.util.Stack

在我用无意义的重言式杀死你之前,这是要点 如果您的应用程序接近实时,或者将代码发送到Mars,则需要保留Java中默认的Stack实现。 根据LinkedList编写您自己的版本。 同样,如果您的应用程序是关键任务,并且希望堆栈由…

play 连接mysql_Play framework 2.x 连接mysql | 学步园

笔者所使用的系统为64位 windows7。本文假设java1.5版本以上环境已经搭好,play 框架已经下载至本地。首先我们创建一个项目。命令行进入play的目录命令:play new demo再次输入项目名字输入2 选择java项目创建完成界面OK,一个play框架下的java…

rpm -e --nodeps_微课 | rpm的思维导图

前导课程:微课 | rpm的查询、升级与卸载命令本次微课将演示使用xmind绘制rpm思维导图的过程,包括视频文字,大约需要你10分钟。另外,文末还有一则IT冷笑话,学习之余、会心一笑:)这个思维导图将包含以下内容:…

CentOS7搭建lamp环境

Mysql安装 CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后&#x…

border-sizing属性详解和应用

box-sizing用于更改用于计算元素宽度和高度的默认的 CSS 盒子模型。它有content-box、border-box和inherit三种取值。inherit指的是从父元素继承box-sizing表现形式,不再冗赘。1. 属性讲解 content-box 默认值,也是css2.1中的盒子模型。在计算 width和…

Couchbase:使用Twitter和Java创建大型数据集

在播放/演示Couchbase或任何其他NoSQL引擎时,创建大型数据集的一种简单方法是将Twitter feed注入到数据库中。 对于这个小应用程序,我正在使用: Couchbase Server 2.0服务器 Couchbase Java SDK (将由Maven安装) T…

查找标题已知的窗口句柄,遍历窗口控件句柄

有了回调函数的概念及上面的例子,我们可以继续了。其实想要找到一个标题已知的窗口句柄,用一个API函数就可以了:FindWindow. 其函数原形是: function FindWindow(lpClassName, lpWindowName: PChar): HWND; stdcall; lpClassName:窗口类名.如果只知道标题,可以为空.窗口类名可以…

西门子scl语言编程手册_西门子SCL编程PEEK指令讲解

单词“peek”在英语中表示“偷看,瞥一眼”,在计算机编程中表示“读取数据”。在西门子SCL编程中,PEEK指令可以用来读取输入缓存区(I)、输出缓存区(Q)、位存储区(M)及数据块(DB)中的数据,常用作间接寻址。今天这篇文章,…

HTML第一章:初始HTML

设置ws字体大小&#xff1a;左上角file-->Settings--->在搜索框中输入font网页的第一行一定是<!DOCTYPE html>&#xff1a;网页声明&#xff0c;代表这个页面是h5页面html标签中的leng"en"&#xff1a;意思是网页中会用到英文 <meta>&#xff1a;…

Guava的Collections2:过滤和转换Java集合

Groovy的便利之一是能够通过Groovy的闭包支持轻松地对集合执行过滤和转换操作。 Guava将对集合的过滤和转换引入标准Java&#xff0c;这是本文的主题。 Guava的Collections2类具有两个公共方法&#xff0c;这两个方法都是静态的。 方法filter&#xff08;Collection&#xff0…

钉钉机器人怎么设置自动回复_项目部署成功后触发钉钉机器人发送消息提醒——入门配置...

钉钉建好一个群打开群设置, 找到群机器人添加一个你想要的机器人可以使用自定义自定义机器人可以自定义头像,名字,生成一个webhook(https post的请求地址)到这里, 钉钉机器人设置好了,接下来我们对照文档进行配置https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq/XAzBI -…

mysql加锁语法_MySql 加锁问题

1、设置非自动提交 set autocommit0; 这时候 for update才会起作用2、一般用法 set autocommit0; for update(加锁) ; commit/rollback; set autocommit1;首先看一下&#xff0c;set autocommit0 后&#xff0c;执行哪些语句会自动加锁&#xff0c;加的是什么锁&#xff1f…

td过长,将固定宽度table撑开

解决办法&#xff1a; 在table上加上样式: table{table-layout:fixed;word-break:break-all} table-layout:fixed tablle的列宽由表格宽度和列宽设定。 word-break:break-all 允许在单词内换行。 正常情况下&#xff1a; table表格中td过长&#xff1a; 加上样式之后&#…

Spring Boot 之注解@Component @ConfigurationProperties(prefix = sms)

从spring-boot开始&#xff0c;已经支持yml文件形式的配置&#xff0c;ConfigurationProperties的大致作用就是通过它可以把properties或者yml配置直接转成对象 例如&#xff1a; 配置文件: sms.urlXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX sms.appkeyXXXXXXXXXXXXXXXXXXXXXXXXXXXXX …

Java临时缓存API –测试早期草案评审RI

它被称为“ 永无止境的故事 ”。 JSR在11年半前开始运作&#xff0c;并于2001年3月6日通过了JSR 评审投票 。 如果您想知道要获得成千上万个低JSR编号需要什么&#xff0c;那就是秘密。 与迈克尔恩德&#xff08;Michael Ende&#xff09;的德国幻想小说不同&#xff0c;这不是…

Android几秒后自动关闭dialog

代码改变世界 Android几秒后自动关闭dialog AlertDialog.Builder builder new AlertDialog.Builder(v.getContext());builder.setTitle("发送成功&#xff01;");builder.setMessage("2秒后自动关闭&#xff01;");builder.setCancelable(true);final Ale…