MySQL数据分析进阶(十四)保护数据库
※食用指南:文章内容为‘CodeWithMosh’SQL进阶教程系列学习笔记,笔记整理比较粗糙,主要目的自存为主,记录完整的学习过程。(图片超级多,慎看!)
【中字】SQL进阶教程 | 史上最易懂SQL教程!10小时零基础成长SQL大师!!
https://www.bilibili.com/video/BV1UE41147KC/?spm_id_from=333.1007.0.0&vd_source=b287f1f4a1fa54cc438e31a0f87ef4e2
目录:
第十四章:保护数据库
1、SECURING DATABASE——保护数据库
2、CREATING A USER——创建一个用户
3、VIEWING USERS——查看用户
4、DROPPING USERS——删除用户
5、CHANGING PASSWORDS——修改密码
6、GRANTING PRIVILEGES——授予权限
7、VIEWING PRIVILEGES——查看权限
8、REVOKING PRIVILEGES——撤销权限
第十四章:保护数据库
1、SECURING DATABASE——保护数据库
通常在服务器上的某个地方有一个数据库,如果不注重安全性,别人可以访问和滥用数据
保障数据安全的用户账户和权限问题
2、CREATING A USER——创建一个用户
目前都是使用根用户连接到数据库服务器(早期安装MySQL时创建的用户账号)
当工作环境中使用MySQL时,需要创建其他用户,并赋予它们特定权限
假设正在创建一个网络或桌面应用程序,应用程序需要访问MySQL数据库的数据,要为应用程序创建一个用户账户,并授予阅读,将数据写入应用程序数据库的权限
这个用户账号不能更改数据库的结构,不应该能够创建新表或删除现有表
假设有人以数据库管理员的身份新加入机构,需要为此创建账户,以便可以管理一个或多个数据库或MySQL服务器
❗如何创建一个新的用户账户,涉及分配权限或特权
①创建命名用户
②选择限制用户的连接位置,键入计算机的IP地址
这个用户只能从同一台安装了MySQL的计算机连接,如果试图从另一台计算机连接,会被拒绝连接
在云环境中非常有用,通常有一个网络服务器和一个数据库服务器
在数据库服务器上为应用程序创建新用户账号时,确保那个用户账户只能从网络服务器连接,要指定网络服务器的IP地址
还可以指定一个主机名
代表当前安装了MySQL的这台计算机
指定域名
可以从该域中的任何计算机来连接,但无法从codewithpauleen.com的子网域连接
为解决该问题,添加一个通配符%.表示任何子网域,就可以从这个域的任何计算机或任何子网域连接了
删掉后面的限制,john就可以从任何地方链接,毫无限制
③为用户设置密码(永远、绝对不要用1234这个密码,要用强密码,越长越好)
3、VIEWING USERS——查看用户
查看MySQL服务器的用户列表
方法一
数据库中有一张表user
Host:表示用户的连接点
中间三个用户供MySQL自行使用,最后是根用户
所有的主机都是localhost,所以想用根用户身份登录,必须用这台计算机,不能远程连接并以根用户身份登录
方法二
4、DROPPING USERS——删除用户
有人离职需要删除他们的用户账户,这样他们就无法再访问MySQL服务器
记得把不再使用的用户账号删掉
5、CHANGING PASSWORDS——修改密码
作为数据管理人员,有时会需要更改别人的密码或者是自己的密码
方法一
第二个修改当前登录用户的密码,不管是根用户还是其他人
方法二
直接修改密码,或者expire passwaord(密码失效),强制该用户下次登陆时更改密码(记得点Apply)
6、GRANTING PRIVILEGES——授予权限
授权的两种情况
①普通用户
有一个网络或桌面应用程序,想允许这个应用程序在数据库中读写数据,没有拥有创建新表或修改现有表的权限(仅管理员)
假设有一个叫moon的应用程序,需要能够在sql store数据库中读写数据
a-创建账户
b-设置密码
c-授予权限(SELECT,INSERT,UPDATE,DELETE,EXECUTE,通常是会周瑜应用程序用户一些典型权限)
d-允许读取的数据库或者单独的表
e-指定用户账号(如果用户账号有主机、IP地址或域名也需写明)
f-用该用户账号连接到服务器
如果使用其他数据库就会报错
管理人员
新人加入团队,给一个或多个数据库,甚至整个MySQL服务器的管理权限
ALL是最高级别的权限
*.*所有数据库所有表
查找特权完整列表在此处查询:mysql privileges
7、VIEWING PRIVILEGES——查看权限
想查看分配给一个用户账号的权限或特权
方法一
删掉FOR子句可以看到当前用户的权限
方法二
可以随时更改、应用
8、REVOKING PRIVILEGES——撤销权限
想撤销一个或多个权限,或他人滥用权限想撤销
moon_app该账号只能读写数据和执行存储过程,而不能创建视图
撤销方法:
注重安全性:不要向用户授予多余的特权,尽量授予用户账号所需的最低权限,不然会帮系统捅出很多安全漏洞
————TBC
相关文章:

MySQL数据分析进阶(十四)保护数据库
※食用指南:文章内容为‘CodeWithMosh’SQL进阶教程系列学习笔记,笔记整理比较粗糙,主要目的自存为主,记录完整的学习过程。(图片超级多,慎看!) 【中字】SQL进阶教程 | 史上最易懂S…...

排序算法之堆排序
title: 堆排序 date: 2024-7-23 15:48:25 0800 categories: 排序算法 tags:排序算法堆排序 description: 堆排序(Heap Sort)是一种基于堆的排序算法,具有较高的效率和稳定性。 math: true 堆排序 堆排序(Heap Sort)是…...

Python中的NLP宝库:探索顶级库与工具
标题:Python中的NLP宝库:探索顶级库与工具 Python,作为人工智能和机器学习任务中的关键编程语言,为自然语言处理(NLP)提供了丰富的库和工具。这些库不仅功能强大,而且大多数都是开源的…...

springboot + springcloud + Google pubsub+ firebase
1.pom依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-gcp-starter</artifactId><version>1.2.6.RELEASE</version></dependency><dependency><groupId>org.springframe…...

时序数据库TDengine和QuestDB对比
QuestDB和TDengine都是高性能的时序数据库(Time Series Database, TSDB),但它们在设计、功能、适用场景以及性能表现上各有特色。 以下是对两者的详细对比: 一、设计与架构 QuestDB 是一个开源的高性能SQL时序数据库࿰…...

Neuralink的进展与马斯克的技术愿景——从脑机接口到AI融合的未来
引言 Neuralink,这个由埃隆马斯克(Elon Musk)创立的公司,一直是科技界的焦点。自从其发布以来,Neuralink的脑机接口技术便吸引了全球的目光。最近,马斯克再次向公众展示了Neuralink的突破性进展࿰…...

大数据技术——实战项目:广告数仓(第四部分)
目录 第7章 数据仓库环境准备 7.1 数据仓库运行环境 7.1.1 Hive环境搭建 7.1.2 Yarn环境配置 7.2 数据仓库开发环境 第8章 广告数仓ODS层 8.1 广告信息表 8.2 推广平台表 8.3 产品表 8.4 广告投放表 8.5 日志服务器列表 8.6 广告监测日志表 8.7 数据装载脚本 第7章…...

cmake+ninja交叉编译android下的静态库
文章目录 cmakeninja案例背景重新安装ninja编译通过 参考 想整理一个库的cmake工程,他用 cmakeninja 简单了解了一下,是可以不依赖Android studio编译的cmake的,搜到了一个cmakeninja,参考[1] 案例 参考[1]中的代码 背景 cm…...

Vue项目-Table添加Form表单校验
一、HTML <template><div class"taskInfo"><el-form:model"generateParams":rules"formRules"ref"formRef"class"taskInfoForm"label-width"100px"><ul class"taskInfoSearch"&g…...

【iOS】—— 事件传递链和响应者链总结
事件传递链和响应者链总结 1. 事件传递链:事件传递链:传递流程:总结第一响应者: 2. 响应者链响应者链传递流程总结响应者链流程 总结: 之前也学习过这个内容这次在复习的时候,就想着写一下总结:…...

【多线程】初识进程和线程
💐个人主页:初晴~ 📚相关专栏:多线程 / javaEE初阶 前言 在我们之前编写的所有代码,都只能用上一个核心。众所周知,现在大多数CPU都有多个核心,但此时,无论如法优化程序,…...

1DCNN-2DResNet并行故障诊断模型
往期精彩内容: Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 Python轴承故障诊断入门教学-CSDN博客 Python轴承故障诊断 (13)基于故障信号特征提取的超强机器学习识别模型-CSDN博客 Python轴承故障诊断 (14)高创新故障识别模型-CSDN…...

Java设计模式(原型模式)
定义 使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。 角色 Prototype(抽象原型角色) ConcretePrototype(具体原型角色) Client(客户端角色 优点 简化对象的创建过程,…...

C/C++ 知识点:typedef 关键字
文章目录 一、typedef 关键字1、 基本用法2、常见用法2.1、为基本数据类型定义别名2.2、为结构体或联合体定义别名2.3、为指针类型定义别名2.4、为复杂模板类型定义别名 3、注意事项4、总结 前言: 在C(以及C语言)中,typedef 关键字…...

【Linux学习】进程间通信之 匿名管道 与 基于管道的进程池
🍑个人主页:Jupiter. 🚀 所属专栏:Linux从入门到进阶 欢迎大家点赞收藏评论😊 目录 🍑进程间通信🐬进程间通信目的 📚管道 📕管道的原理🐧用fork来共享管道原…...

小团队如何选需求管理软件?8款顶级推荐
本文将分享8款适合小团队的需求管理软件:PingCode、Worktile、Tapd、Teambition、禅道、Asana、Jama Connect、Aha!。 在小团队中管理需求时,寻找合适的软件工具常常让人头疼,不同的需求管理软件提供各种功能,但哪些功能真正适合…...

docker操作入门
1.创建镜像,使用当前文件 docker build -t experience . 2.运行容器 docker run -d -p 8501:8501 --name my-running-app my-python-api docker run -p 8508:8508 experience docker run -p 8508:8508 -p 8509:8509 experience 3.查看容器状态 docker ps docker p…...

简单的射箭小游戏网页源码
简单的射箭小游戏网页源码,对准靶心开启你的射击之旅吧 微信扫码免费获取源码...

Python | Leetcode Python题解之第331题验证二叉树的前序序列化
题目: 题解: class Solution:def isValidSerialization(self, preorder: str) -> bool:pre 1for i in preorder.split(,):if i.isdigit():if pre 0:return Falsepre 1else:if pre 0:return Falsepre - 1return pre 0...

0x3 “护网行动”守之道
一、护网防守目标系统 二、护网防守之利器 通过安全流程控制、安全技术保障、安全工具支撑、安全能力提升四个层次全面构成安全防御体系。 安全技术名称解释 IPS(入侵防御系统)WAF(Web应用防火墙)IDS(入侵检测系统&a…...

白骑士的Matlab教学高级篇 3.1 高级编程技术
系列目录 上一篇:白骑士的Matlab教学进阶篇 2.5 Simulink 高级编程技术在MATLAB中扮演着至关重要的角色,帮助用户更高效地编写复杂程序、提高代码的可维护性和可读性。本节将介绍面向对象编程、函数句柄与回调函数、错误处理与调试的相关内容。 面向对…...

haproxy简介与用法
一、负载均衡 1.1、概念: 负载均衡SLB(Server Load Balancer)是一种对流量进行按需分发的服务,通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,并且可以消除系统中的单点故障,提升应用系统…...

Geoscene Pro的三维
一、场景设置 1.3D视图分为全局场景和局部场景。在Geoscene Pro中,两个场景可以自由切换。 (1)全局场景有固定的坐标系GCS(WGS84、CGCS2000),并在全球比例尺下展示(全球范围)。可以…...

论文阅读 - Scaling Up k-Clique Densest Subgraph Detection | SIGMOD 2023
1. 论文背景 密集子图发现(Densest Subgraph Discovery)是图挖掘领域的一个基础研究方向,并且近年来在多个应用领域得到了广泛研究。特别是在生物学、金融学和社交网络分析等领域,密集子图的发现对理解复杂网络结构和行为具有重要…...

前端框架(三件套)
学习网站 HTML 系列教程(有广告) HTML(超文本标记语言) | MDN (mozilla.org)(英文不太友好) 1.HTML5 & CSS3 1.1HTML5表格 <!DOCTYPE html> <html lang"en"> <head>…...

MemoryCache 缓存 实用
MemoryCache 缓存 实用,相关逻辑代码里已详细注释, 在Java中创建一个单例模式(Singleton Pattern)的MyMemoryCache类,可以采用多种方法,其中最常见的是使用“饿汉式”和“懒汉式”(线程安全和非线程安全&am…...

Java设计模式(命令模式)
定义 将一个请求封装为一个对象,从而让你可以用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操作。 角色 抽象命令类(Command):声明用于执行请求的execute方法,通…...

什么是 CI/CD?
什么是 CI/CD? CI/CD(Continuous Integration/Continuous Deployment)是一种软件开发实践,旨在通过自动化的方式频繁地构建、测试和发布软件。CI/CD 可以显著提高软件交付的速度和质量,使团队能够更快地响应市场变化和…...

【免费】最新区块链钱包和私钥的助记词碰撞器,bybit使用python开发
使用要求 1、用的是google里面的扩展打包成crx文件,所以在使用之前你需要确保自己电脑上有google浏览器,而且google浏览器版本需要在124之上。(要注意一下,就是电脑只能有一个Chrome浏览器) 2、在win10上用vscode开发…...

【苍穹外卖JAVA项目】第2天:新增员工
在EmployeeMapper.java中插入数据:一、新增员工 1.产品原型 2.接口设计 由于需要提交员工信息,用post请求方式,可以携带json数据 3.设计数据库的employee表 4.设计DTO 数据传输对象(DTO):封装前端提交过…...