第400集MySQL索引创建与索引类型详解
MySQL索引创建与索引类型详解1. 索引概述1.1 什么是索引索引(Index)是帮助MySQL高效获取数据的数据结构。索引类似于书籍的目录,可以快速定位到数据所在的位置,而不需要扫描整个表。
1.2 索引的作用
提高查询速度: 通过索引可以快速定位到数据,避免全表扫描
加速排序: 索引可以帮助ORDER BY和GROUP BY操作
保证数据唯一性: 唯一索引可以保证数据的唯一性
加速表连接: 外键索引可以加速JOIN操作
1.3 索引的缺点
占用存储空间: 索引需要额外的存储空间
降低写入性能: INSERT、UPDATE、DELETE操作需要维护索引
增加维护成本: 索引需要定期维护和优化
2. MySQL索引类型2.1 按存储结构分类
索引类型
说明
适用场景
B-Tree索引
最常用的索引类型,支持范围查询
大多数场景
Hash索引
基于哈希表,只支持等值查询
等值查询场景
Full-Text索引
全文索引,用于文本搜索
文本搜索场景
Spatial索引
空间索引,用于地理数据
GIS应用
2.2 按功能分类
索引类型
说明
特点
普 ...
第399集系统管理-Linux系统进程管理
系统管理 - Linux系统进程管理1. 什么是进程进程是已启动的可执行程序的运行实例,进程有以下组成部分:
分配内存: 已分配内存的地址空间
安全属性: 进程的运行身份和权限
进程代码: 运行一个或多个的线程
进程状态: 进程运行后的多种状态
1.1 静态程序与动态进程
类型
说明
示例
静态程序
二进制文件
/bin/ls, /usr/sbin/sshd
动态进程
程序运行的过程, 有生命周期及运行状态
正在运行的进程
1.2 进程的运行环境进程的运行环境,包括以下几个部分:
局部和全局变量
当前的调度上下文
分配给进程使用的系统资源,例如文件描述符、网络端口等
给进程分配对应的pid, ppid
2. 进程生命周期程序运行时进程的状态关系:
父进程复制自己的地址空间创建新的子进程,子进程可以继承父进程(ppid)的环境变量
每个进程都有自己的唯一ID(PID)
进程是由systemd这个父进程派生出来的子进程
子进程在运行自己的程序代码的时候, 父进程往往会进入到睡眠状态
子进程完成程序代码发出退出信号请求
子进程已经关闭或丢弃了其资源环境 ...
第398集用户权限-Linux系统ACL控制
用户权限 - Linux系统ACL控制1. ACL访问控制概述上一章节我们学习了一般权限、特殊权限,但所有的权限是针对某一类用户设置的, 如果希望对某个指定的用户进行单独的权限控制, 就需要用到文件的访问控制列表ACL。
1.1 ACL基本概念ACL (Access Control List): 访问控制列表,可以对单个用户或组设置独立的权限。
特点:
设定acl只能是root管理员用户
相关命令: getfacl, setfacl
可以对单个用户、单个组设置独立权限
比传统权限更灵活
1.2 ACL基本使用方式环境准备123456# 环境准备[root@liyanzhao ~]# cp /etc/passwd /root/passwd# 文件在没有设定acl, 看到的和传统权限是一样[root@liyanzhao ~]# ll passwd-rw-r--r-- 1 root root 0 10-26 13:59 /home/test.txt
使用getfacl查看权限12345678# 使用getfacl查看权限[root@liyanzhao ~]# getfacl passw ...
第397集用户权限-Linux系统特殊权限
用户权限 - Linux系统特殊权限1. Linux系统特殊权限概述Linux系统除了基本的rwx权限外,还有三种特殊权限:SUID、SGID和Sticky。这些特殊权限提供了更细粒度的权限控制。
1.1 特殊权限说明
特殊权限
说明
作用位置
SUID
以文件的所属用户身份执行命令, 而不是以当前用户的身份执行命令
文件所有者位置
SGID
将目录设置为sgid后续如果在该目录下创建文件, 都将与该目录的所属组保持一致
文件属组位置
Sticky
任何人都可以在该目录下创建文件以及目录, 但只能删除自己创建的文件和目录
其他用户位置
1.2 特殊权限设置方法用符号表示:
setuid = u+s
setgid = g+s
sticky = o+t
用数值表示:
setuid = 4
setgid = 2
sticky = 1
组合使用:
1234chmod 4755 file # SUIDchmod 2755 dir # SGIDchmod 1755 dir # Stickychmod 6755 file # SUID + SGID
2. ...
第396集用户权限-Linux系统基本权限
用户权限 - Linux系统基本权限1. 权限概述Linux中的文件或目录的权限和用户及用户组关联很大,Linux中每个文件或目录都有一组共9个基础权限位,每三个字符被分为一组,他们分别是属主权限位(占三个字符)、属组权限位(占三个字符)、其他用户权限位(占三个字符)
比如rwxr-xr-x,linux中正是这9个权限位来控制文件属主(User)、属组(Group)、其他用户(Other)基础权限。
1.1 用户对资源的三种角色
角色
符号
说明
User(u)
属主用户
文件所有者
Group(g)
属组用户
包含组成员
Other(o)
匿名用户
其他人
1.2 用户访问文件流程一个用户访问文件流程如下:
判断用户是否为文件的所有者,如果是,按所有者的权限进行访问
判断是否为文件的所有组成员,如果是,就按组的权限去访问
最终用户就是文件的其他的人,按其他人的权限去访问
12rwx, rwx, r-xUser Group Other
1.3 权限与属主属组文件权限对应表:
如果权限位不可读、不可写、不可执行,则用-来表示。
权限
符号
二进制
八进制 ...
第395集用户权限-Linux系统用户管理
用户权限 - Linux系统用户管理1. 用户基本概述Linux用户属于多用户操作系统,在windows中,可以创建多个用户,但不允许同一时间多个用户进行系统登陆,但是Linux可以同时支持多个用户同时登陆操作系统,登陆后互相之间并不影响。
1.1 用户和组存在的意义
1.系统上的每一个进程(运行的程序)都需要特定的用户运行
2.每一个文件都有特定的用户拥有
3.访问一个文件或目录受到用户的限制
4.进程能够以何种方式访问某一个文件或目录, 与进程所关联的用户有关
1.2 查看当前登录的用户信息12[root@liyanzhao-node1 /]# iduid=0(root) gid=0(root) groups=0(root)
1.3 用户分类
UID范围
用户类型
说明
0
超级管理员
拥有最高权限
1-200
系统用户
由系统分配给系统进程使用
201-999
系统用户
用来运行服务账户,不需要登陆系统(动态分配)
1000+
常规普通用户
普通用户账户
注意: 在CentOS7系统之前, UID1-499用于系统用户, 而UID 500+则用于普 ...
第394集文件管理-Linux系统文件属性
文件管理 - Linux系统文件属性1. Linux系统文件属性使用ls -l命令可以查看文件的详细信息,包括文件属性、权限、所有者等信息。
1.1 文件属性详解1-rw-------. 1 root root 4434 May 30 13:58 ks.cfg
文件属性说明:
位置
内容
说明
①
-rw-------.
文件类型与权限
②
1
硬链接次数
③
root
所属用户
④
root
所属组
⑤
4434
文件大小(字节)
⑥⑦⑧
May 30 13:58
最新修改的时间与日期
⑨
ks.cfg
文件或目录名称
1.2 文件属性详细说明① 文件类型与权限 (-rw-------.):
第一个字符: 文件类型
-: 普通文件
d: 目录
l: 链接文件
b: 块设备文件
c: 字符设备文件
s: 套接字文件
p: 管道文件
后续9个字符: 文件权限(rwxrwxrwx)
前3位: 所有者权限
中3位: 所属组权限
后3位: 其他用户权限
最后一个字符: SELinux上下文(.表示有SELinux上下文)
② 硬链接次 ...
第393集文件管理-Linux系统压缩打包
文件管理 - Linux系统压缩打包1. 压缩工具概述windows下我们接触最多的压缩文件就是.rar格式, 但Linux有自己所特有的压缩工具。
如果希望windows和Linux互相能使用的压缩工具, 建议.zip格式
压缩的好处压缩的好处主要有:
节省磁盘空间占用率
节省网络传输带宽消耗
网络传输更加快捷
Linux系统常见的后缀名所对应的压缩工具
后缀名
压缩工具
说明
.gz
gzip
gzip压缩工具压缩的文件
.bz2
bzip2
bzip2压缩工具压缩的文件
.tar
tar
tar没有压缩功能,只是把一个目录合并成一个文件
.tar.gz
tar + gzip
先使用tar打包,然后使用gzip压缩归档
.tar.bz2
tar + bzip2
先使用tar打包,然后使用bzip2压缩归档
.tar.xz
tar + xz
先使用tar打包,然后使用xz压缩归档
注意:
Linux下常用压缩文件以.tar.gz结尾
Linux下压缩文件必须带后缀
2. ZIP压缩工具zip是压缩工具,unzip是解压缩工具
2.1 压 ...
第392集文件管理-Linux系统VIM编辑
文件管理 - Linux系统VIM编辑1. VIM基本介绍vi和vim命令是linux中强大的文本编辑器, 由于Linux系统一切皆文件,而配置一个服务就是在修改其配置文件的参数。vim编辑器是运维工程师必须掌握的一个工具, 没有它很多工作都无法完成。
vim其实是vi的升级版
vi与vim的区别
特性
vi
vim
语法高亮
不支持
支持
颜色显示
不显示高亮颜色语法
显示高亮颜色语法
其他功能
基础功能
功能更强大
其他功能没有什么区别。所以在linux系统下,使用vi还是vim取决个人习惯。
安装VIM如果在刚装完的CentOS操作系统下没有vim这个命令,用如下方式进行安装即可:
1yum install -y vim-enhanced
2. VIM模式介绍Vim编辑器中设置了三种模式: 命令模式、编辑模式、末行模式,每种模式分别又支持多种不同的命令快捷键,大大提高了工作效率,而且用户在习惯之后也会觉得相当顺手。要想高效率地操作文本,就必须先搞清这三种模式的操作区别以及模式之间的切换方法。
2.1 命令模式控制光标移动, 可对文本进行复制、粘贴、删除等 ...
第391集系统入门-Linux系统基础命令
系统入门 - Linux系统基础命令1. 系统目录结构几乎所有的计算机操作系统都是用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件, 而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树的分支, 所以该结构又被称为”目录树”。
Linux系统中也沿用了这种文件结构, 所有目录和文件都在 “根目录”下, 目录名为”/“。FHS(文件系统层次标准)定义了在根目录下的主要目录以及每个目录应该存放什么文件。
Linux系统主要目录说明
目录
说明
/etc
系统重要配置文件, 以及常用服务配置文件
/var
存放系统引导启动时产生的可变文件,文件通常动态更改的,例如: 缓存目录,日志文件
/run
系统启动后, 运行的程序产生的运行时数据, 包括进程的pid文件,锁文件等
/home
普通用户的主目录, 普通用户的家目录默认为/HOME/USERNAME
/root
超级管理员的主目录, 普通用户无权操作
/tmp
存放临时文件, 一般存放超过10天以上都会自动删除,可以更改删除临时文件的期限
/boot
存 ...
