Linux - 开机启动流程

2023-05-16

目录

一、掌握开机启动流程的意义:

1.1  为什么需要了解开机启动流程?

1.2  在日常的运维过程中,是否会遇到机器出现问题启动不了?

1.3  开机启动流程的意义

二、开机启动流程

2.1  开机启动流程图

2.2  开机启动流程

2.2.1  pwoer on 开机

2.2.2  POST开机自检

2.2.3  BIOS程序对硬件进行检测

2.2.4  boot启动顺序检查,启动第一启动顺序

2.2.5  硬盘中的MBR程序

2.2.8  启动对应的运行级别里面的服务。

2.2.9  运行 /etc/systemd/system/multi-user.target.wants/ 下的服务

2.2.10 运行 /etc/rc.local 以及 /etc/fstab文件

2.2.12  加载四个配置文件


一、掌握开机启动流程的意义:

开机启动流程

1.1  为什么需要了解开机启动流程?

1.2  在日常的运维过程中,是否会遇到机器出现问题启动不了?

1.自己的机房 --》自建机房 --》大量的物理机器 --》真实的服务器 --》成本高

2.大量的云服务器 --》阿里云,腾讯云,aws,华为云等,成本低,性价比高

1.3  开机启动流程的意义

1.掌握让某个软件或服务开机自动运行的方法

2.开机不能正常启动,是什么原因,或者那个环节出现了问题

3.防止黑客植入木马,去查询黑客会把木马放到哪些地方?

 ##############################################

二、开机启动流程

2.1  开机启动流程图

 ############################################## 

2.2  开机启动流程

2.2.1  pwoer on 开机

2.2.2  POST开机自检

开机自检 :上电自检(POST, Power  On Self  Test)

        谁去检查?

                由主板上面的BIOS程序去完成,BIOS(Basic Input Output System)程序,基本输入输出系统。

        自检什么东西?

                对CPU、系统主板、基本内存、扩展内存、系统ROM BIOS等器件的测试。如发现错误,给操作者提示或警告。简化或加快该过程,可使系统能够快速启动。

        电脑里有哪些基本的硬件?
                主板(motherboard)、cpu、内存,磁盘,网卡,显卡,声卡,电源,鼠标,键盘、显示器等

##############################################

2.2.3  BIOS程序对硬件进行检测

BIOS程序:
BIOS是个人电脑启动时加载的第一个软件。
它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。

ROM存储器 : read only memory  --》只读的存储器  断电信息丢失

RAM存储器: random access memory  随机存取存储器  --》可读可写  断电信息不丢失

既然BIOS程序是固化到只读存储器上面的那么BIOS的一些基本配置保存到哪里?

BIOS的配置固化到了主板上面的CMOS芯片上面, BIOS是一个程序会读取CMOS芯片里的参数,了解cpu的配置,时间的配置,启动顺序的配置等

CMOS芯片:CMOS芯片是一种低耗电存储器,其主要作用是用来存放BIOS程序中的设置信息以及系统时间日期。如果CMOS中数据损坏,计算机将无法正常工作

##############################################

2.2.4  boot启动顺序检查,启动第一启动顺序

boot  : 引导、启动的意思

关于boot启动顺序:

 第一引导顺序:Removable Devices  可移动设备 (U盘、移动硬盘等)

第二引导顺序:Hard Drive  硬盘

第三引导顺序:CD-ROM Drive 光驱  (安装系统)

第四引导顺序:Network boot from Intel  网络中安装服务器启动

##############################################

2.2.5  硬盘中的MBR程序

计算机在按下power键后,开始执行主板BIOS程序,进行完一系列检测和配置以后,

开始按BIOS设定的引导顺序引导系统,会从硬盘中引导系统,BIOS执行完自己的程序以后

如何将执行权交给硬盘?

MBR程序:master boot record 主引导记录,位于硬盘的0磁道,0柱面,1扇区,可以看成是硬盘的第一个扇区,MBR里面有一个grub2引导程序,负责启动linux系统

磁盘上面有很多磁道,每个磁道又会划分成63个扇区,每个扇区可以存储512个字节

MBR主引导记录的组成:

分区表 + grub2主引导程序 + 类型    总共512个字节

grub是linux系统的启动程序
grub2是grub的第2个版本

 ##############################################

2.2.6  加载/boot里面的光驱

/boot目录下面的内容:

 grub2程序会舒适化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统做好一切准备。

initramfs-4.18.0-147.el8.x86_64.img 文件:

给内核程序提供一个初始化的内存文件系统的镜像文件 --》临时的根文件系统的镜像文件-->提供程序和配置文件 

        init 初始化

        ram 内存里的存储

        fs 文件系统

vmlinuz-4.18.0-147.el8.x86_64 文件

        内核程序文件。

 ##############################################

2.2.7  启动systemd进程

        由于版本的不同,centos6里面启动的第一个进程是init,centos7里面是systemd进程

[root@wangsh boot]# pstree -p
systemd(1)─┬─NetworkManager(749)─┬─{NetworkManager}(757)
           │                     └─{NetworkManager}(762)
           ├─VGAuthService(671)
           ├─auditd(646)───{auditd}(647)
           ├─chronyd(679)
           ├─crond(700)
           ├─dbus-daemon(676)───{dbus-daemon}(691)
           ├─login(714)───bash(1325)
           ├─lvmetad(505)
           ├─master(1227)─┬─pickup(4840)
           │              └─qmgr(1237)
           ├─nginx(2248)───nginx(2249)
           ├─polkitd(673)─┬─{polkitd}(692)
           │              ├─{polkitd}(695)
           │              ├─{polkitd}(696)
           │              ├─{polkitd}(698)
           │              ├─{polkitd}(699)
           │              └─{polkitd}(709)
           ├─rsyslogd(1063)─┬─{rsyslogd}(1066)
           │                └─{rsyslogd}(1067)
           ├─sshd(1059)───sshd(4254)───bash(4258)───pstree(4930)
           ├─systemd-journal(488)
           ├─systemd-logind(694)
           ├─systemd-udevd(521)
           ├─tuned(1060)─┬─{tuned}(1307)
           │             ├─{tuned}(1308)
           │             ├─{tuned}(1310)
           │             └─{tuned}(1312)
           └─vmtoolsd(672)─┬─{vmtoolsd}(710)
                           └─{vmtoolsd}(717)

 ##############################################

2.2.8  启动对应的运行级别里面的服务。

运行级别:runlevel(是centos6的叫法,)

0 关机

1 单用户模式

2 多用户模式,不能使用nfs

3 完全多用户模式 --》字符界面模式 --》非常正常的模式, 默认最小化安装的模式

4 保留,没使用

5 图形界面

6 重启

init 0 关机

init 3 进入字符界面

init 6 重启

init 5 进入图形界面,但是需要安装了图形界面

查看当前运行级别

[root@wangsh boot]# runlevel 
N 3
[root@wangsh boot]# 

N代表之前最开始进入的模式,如果是N表示没有的模式,没有进行模式切换

3 5 代表开机是先进入运行级别3,后来切换到运行级别5

查看/etc/inittab文件

[root@wangsh boot]# vim /etc/inittab 

# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target

 可以看到这个文件里面说:

 multi-user.target: analogous to runlevel 3
 graphical.target: analogous to runlevel 5


 multi-user.target类似于第3运行级别

 graphical.target类似于第5运行级别

# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#

显示当前的默认运行级别使用这条命令

        systemctl get-default  查看默认的运行级别

设置开机进入图形界面

        set-default graphical.target

[root@wangsh boot]# systemctl get-default
multi-user.target
[root@wangsh boot]# systemctl set-default graphical.target

 ##############################################

2.2.9  运行 /etc/systemd/system/multi-user.target.wants/ 下的服务

[root@wangsh multi-user.target.wants]# pwd
/etc/systemd/system/multi-user.target.wants
[root@wangsh multi-user.target.wants]# ls
auditd.service     irqbalance.service      remote-fs.target        tuned.service
chronyd.service    kdump.service           rhel-configure.service  vmtoolsd.service
crond.service      NetworkManager.service  rsyslog.service
firewalld.service  postfix.service         sshd.service
[root@wangsh multi-user.target.wants]# ll
总用量 0
lrwxrwxrwx. 1 root root 38 11月 12 2021 auditd.service -> /usr/lib/systemd/system/auditd.service
lrwxrwxrwx. 1 root root 39 11月 12 2021 chronyd.service -> /usr/lib/systemd/system/chronyd.service
lrwxrwxrwx. 1 root root 37 11月 12 2021 crond.service -> /usr/lib/systemd/system/crond.service
lrwxrwxrwx. 1 root root 41 7月  26 15:03 firewalld.service -> /usr/lib/systemd/system/firewalld.service
lrwxrwxrwx. 1 root root 42 11月 12 2021 irqbalance.service -> /usr/lib/systemd/system/irqbalance.service
lrwxrwxrwx. 1 root root 37 11月 12 2021 kdump.service -> /usr/lib/systemd/system/kdump.service
lrwxrwxrwx. 1 root root 46 11月 12 2021 NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service
lrwxrwxrwx. 1 root root 39 11月 12 2021 postfix.service -> /usr/lib/systemd/system/postfix.service
lrwxrwxrwx. 1 root root 40 11月 12 2021 remote-fs.target -> /usr/lib/systemd/system/remote-fs.target
lrwxrwxrwx. 1 root root 46 11月 12 2021 rhel-configure.service -> /usr/lib/systemd/system/rhel-configure.service
lrwxrwxrwx. 1 root root 39 11月 12 2021 rsyslog.service -> /usr/lib/systemd/system/rsyslog.service
lrwxrwxrwx. 1 root root 36 11月 12 2021 sshd.service -> /usr/lib/systemd/system/sshd.service
lrwxrwxrwx. 1 root root 37 11月 12 2021 tuned.service -> /usr/lib/systemd/system/tuned.service
lrwxrwxrwx. 1 root root 40 11月 12 2021 vmtoolsd.service -> /usr/lib/systemd/system/vmtoolsd.service

可以看到,这些文件其实都是链接文件,指向Linux中的要开机自启的服务。

我们使用systemctl disable firewalld这条命令其实就是将这个目录下面的链接文件去除

        使用systemctl enable firewalld这条命令就是在这个目录添加firewalld服务的链接

[root@wangsh multi-user.target.wants]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@wangsh multi-user.target.wants]# systemctl enable firewalld
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.

  ##############################################

2.2.10 运行 /etc/rc.local 以及 /etc/fstab文件

rc.local文件:

如果想执行这个文件必须给他赋予可执行权限。

[root@wangsh multi-user.target.wants]# cat /etc/rc.local 
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local


[root@wangsh multi-user.target.wants]# ll -d /etc/rc.local
lrwxrwxrwx. 1 root root 13 11月 12 2021 /etc/rc.local -> rc.d/rc.local

/etc/fstab

告诉linux正常启动过程中挂载哪个磁盘分区

[root@wangsh multi-user.target.wants]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Fri Nov 12 20:24:42 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=5f971381-8a7b-4d83-8113-628cfee0a009 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

 

 ##############################################

2.2.11  login登录

login登录查询启动,用户输入用户名和密码以后

Linux系统会自动进入/etc/passwd文件查找文件名

再根据用户名到/etc/shadow文件查找密码

 ##############################################

2.2.12  加载四个配置文件

登录成功后会加载四个配置文件

/etc/profile  全局配置,对所有用户有效

/etc/bashrc  全局配置,对所有用户有效

~/.bash_profile   局部配置,只对登录的用户生效

~/.bashrc  局部配置,只对登录的用户生效

来看看.bash_profile的内容:

如果,~/.bashrc文件存在就执行这个文件

 ~/.bashrc文件有这样一行内容

 如果/etc/bashrc文件存在就执行这个文件

 ##############################################

三、思考题:

1.如果你编写了一个程序,需要开机自启的话有哪些方法?

将程序做成一个服务,放到/etc/systemd/system/multi-user.target.wants目录下面。

这个目录下面放的都是开机自启的服务

在/etc/rc.local文件里面添加一条运行程序的命令,就会开机自启

在四个配置文件里面添加运行程序的命令,就会开机自启

还可以添加计划任务,让程序自动运行

2.如何确定一个服务有没有开机自启?

在/etc/systemd/system/multi-user.target.wants目录下面查找有没有这个服务

[root@wangsh multi-user.target.wants]# ls | grep firewalld
firewalld.service
[root@wangsh multi-user.target.wants]# 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux - 开机启动流程 的相关文章

  • shell脚本命令启动jar包

    span class token comment bin sh span port 61 8080 span class token comment 定义变量等号左右不能有空格 span jar name 61 span class tok
  • vantui 复选框checkbox 加 折叠面板 collapse 组合使用

    代码量不多 自己看下吧 希望对你有帮助 span class token tag span class token tag span class token punctuation lt span template span span cl
  • Python 报错:unsupported operand type(s) for +: ‘dict_items‘ and ‘dict_items‘

    因为在python3中dict items 返回的是一个对象 xff0c 不能进行 43 操作 xff0c 因此报错
  • Java计算平方根

    Java基础 xff0c 对数值的处理 xff0c 很重要的细节操作 标题1376 计算平方根 Time Limit 1 Sec Memory Limit 128 MB Description 输入一个整数 xff0c 计算平方根并输出 I
  • 建造者模式(设计模式详解)

    建造者模式 描述特点实现Http请求实体建造者指导者客户端 使用场景 描述 建造者模式是一种创建型设计模式 xff0c 它允许您创建复杂的对象 xff0c 而无需直接指定它们的具体类型 它通过将对象的构造过程分解为多个简单的步骤 xff0c
  • CSS之选择器(一)普通选择器

    1 CSS选择器概述 通过选择器可以选定页面中的指定元素 xff0c 对HTML页面中的元素实现一对一 一对多或者多对一的控制 HTML页面中的元素都是通过CSS选择器进行控制的 2 CSS选择器 1 一般选择器 一般选择器 选择器示例示例
  • vs code写python代码时遇到蓝色波浪线“word“: Unknown word.cSpell[1,1]解决方法

    vs code写python代码时遇到蓝色波浪线 34 word 34 Unknown word cSpell 1 1 解决方法 从上面的两张图片都出现有cSpell xff0c 这个单词其实是code spell checker扩展检查p
  • ubuntu 18.0.4以上版本系统内网双网口设置方法

    需求 xff1a 18以上版本系统与老版本有很大区别 xff0c 目前有线网卡用于SSH及本地内网连接 xff0c 无线用于外网连接 xff0c 用笔记本SecureCRT通过有线操作ubuntu设备 xff0c 而且还要保证Ubuntu设
  • 操作系统的概念、功能和目标

    大家都熟悉的操作系统 windowsAndroidiosmacoslinux 本节框架 xff1a 定义 xff1a 操作系统是指控制和管理整个计算机系统的硬件和软件资源 xff0c 并合理地组织调度计算机的工作和资源的分配 xff0c 以
  • SpringBoot整合FreeMarker

    一 FreeMarker简述 在线文档 xff1a http freemarker foofun cn FreeMarker 也是一款模板引擎技术 xff0c 它是一种基于模板和要改变的数据 xff0c 并用来生成输出文本 HTML网页 x
  • SpringMVC的执行流程

    前言 当你知道springMVC的执行流程的时候 xff0c 会达到是事半功倍的学习效果 SpringMVC执行流程 首先明确 xff1a SpringMVC的执行过程就是 xff1a 客户端或者浏览器发送请求到后端服务器 xff0c 后端
  • archLinux安装记录

    archLinux安装记录 基于wsl的arch 启用wsl 首先 xff0c 按Win 43 S搜索启用或关闭Windows功能 xff08 Turn Windows features on or off xff09 打开虚拟机平台和WS
  • mac风格的windows11

    结果 工具下载 链接 xff1a https pan baidu com s 1bVkGI2FZ1Y6tziRMFdP3fw 提取码 xff1a MACC windows11微软官网纯镜像 链接 xff1a https pan baidu
  • AD学习问题记录(四):AD21布线时如何更改线宽

    目录 问题 xff1a 布线时发现线比需要的细解决 xff1a 更改规则结果总结 目前使用的版本是AD21 问题 xff1a 布线时发现线比需要的细 在PCB布线的时候 xff0c 发现线宽比较细 xff0c 于是在右侧的Propertie
  • FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ‘:app:compile...

    1 错误原因 笔记 在运行android的项目时报错 咱就是说代码不知道检查多少遍了 反正代码可以肯定的是没错的 于是就去网上搜索啊 按照提示在build gradle Module app 加了如下代码 android compileOp
  • Java实现二分搜索

    二分查找 xff1a 是一种算法 xff0c 其输入是一个有序的元素列表 xff08 必须是有序的 xff09 xff0c 如果查找的元素包含在列表中 xff0c 返回其索引 xff0c 否则返回负数 比如说有一个1 100的数字 xff0
  • Python if else条件语句你懂了吗?

    在 Python 中 xff0c 可以使用 if else 语句对条件进行判断 xff0c 然后根据不同的结果执行不同的代码 xff0c 这称为选择结构或者分支结构 Python 中的 if else 语句可以细分为三种形式 xff0c 分
  • 嵌入式学习系统里的ROM和RAM(转载)

    一个嵌入式项目在立项时 xff0c 其中有个重要的环节就是对系统所需的RAM和ROM用量进行评估 xff0c 在满足系统需求的前提下 xff0c 尽量降低硬件成本 xff0c 据说同等大小的RAM价格大概是ROM的6倍 大部分的资料都宣称程
  • 关于Mysql8.0.22服务无法启动问题

    关于Mysql8 0 22服务无法启动问题 1 官网下载 解压完成后 不存在data文件夹 也不要自己创建 后面会用命令生成 请往后看 2 创建my ini文件 xff08 一定要放在bin目录下 xff0c 不要放在mysql8 0 22
  • 查找Ubuntu中安装软件的位置

    查找Ubuntu中安装软件的位置 下面仅自我学习记录只做参考 xff0c 不可全信 通常使用ps e 找到软件的具体名字 xff0c 然后进行位置查找 自我记录 1 执行程序查看 对于有的程序没有效果 type 软件名 2 通过进程查看 p

随机推荐

  • Python爬虫:第三章 数据解析 xpath解析(12)

    第三章 数据解析 xpath 解析xpath 解析基础example1 爬取58二手房中的房源信息example2 解析下载图片数据example3 全国城市名称爬取 xpath 解析 xpath 解析基础 span class token
  • java获取项目文件绝对路径

    该方法是先根据指定目录创建文件目录后 xff0c 再获取起绝对路径 xff0c 可先在指定目录中放入指定文件 xff0c 这样就可以直接获取起绝对路径 span class token keyword public span span cl
  • 三分钟带你了解最成熟最流行的LAMP网站应用架构

    三分钟带你了解最成熟最流行的LAMP网站应用架构 一 LAMP概述1 各组件的主要作用2 各组件安装顺序 二 编译安装Apache httpd服务准备工作1 关闭防火墙 xff0c 将安装Apache所需软件包传到 opt目录下2 安装环境
  • IDEA通过maven配置Spring保姆级教程

    写在前面 xff1a 此篇文章主要是记录IDEA利用maven配置Spring的全过程 由于本人也是慢慢探索出来的 xff0c 所以有不全或者遗漏的地方 xff0c 还请大家斧正 请耐心看完文章 xff0c 前期工作做完后IDEA才可以配置
  • 策略梯度算法(Policy Gradient)逐行代码详解

    理论部分以及完整代码参看之前的博客 xff1a https blog csdn net qq 47997583 article details 124506650 本文章介绍的是策略梯度算法中的REINFORCE实现 上图为算法流程图 xf
  • python爬虫(自动下载图片)

    爬虫第一步下载第三方工具 requests包 win 43 R 输入cmd点击确定或回车 输入以下命令下载requests包 requests包是python爬虫常用的包 他的下载方式是 pip install requsts 如果觉得下载
  • python json格式转字典

    impor json req 61 json loads 转换的内容
  • mysql安装5.7出现闪退解决办法

    MySQL下载官网 下载地址 xff1a https dev mysql com downloads mysql 我之前用的是5 5的版本升级到5 7是将所有的数据生成到文件里 命令 mysqldump u root p all datab
  • 小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面

    设置 获取缓存 xff0c 发送请求 xff0c 渲染数据 xff0c 转发当前页面 设置 获取本地缓存设置本地缓存 xff08 wx setStorage xff09 获取本地缓存 xff08 wx getStorageSync xff0
  • cnpm安装步骤

    安装nodeJS 官网下载 xff1a http nodejs cn download 选择其他版本下载地址 https nodejs org zh cn download releases 选版本点击下载 然后下载后缀名为msi 因为安装
  • likeadmin权限管理菜单报错:AxiosError

    报错图片 xff1a 这个原因是后端返回的 JSON 数据太多而导致前端报错 xff0c 可能是因为前端无法处理大量数据 下面是一些可能导致前端代码处理大量数据出现问题 返回json数据中的末尾有说到数据太多了的原因 然后我去数据库的sys
  • Vue安装

    Vue安装 一 安装二 使用步骤1 在项目中使用vue2 使用命令创建vue项目 一 安装 安装vue之前需要安装nodeJS 1 需要安装Node js 可以从官方网站进行下载并安装 2 这篇博客有详细的步骤 Node js安装详解 3
  • Thinkphp6模型关联

    文章目录 前言一 一对一关联示例 二 一对多三 多对多四 示例总结hasManybelongsTohasOne 前言 ThinkPHP 6 模型关联是指使用 PHP 对象关系映射 xff08 ORM xff09 机制 xff0c 通过模型类
  • Linux----生产者与消费者

    生产者与消费者 模型场景分析 xff1a 编程流程 xff1a 生产者同步流程消费者同步流程 代码实现主函数生产者线程函数消费者线程函数 模型场景 分析 xff1a 缓冲区buff中存放数据 生产者和消费者数目不固定 xff0c 生产者向缓
  • 一篇文章了解Like用法及常见索引失效情况

    1 简介 本文主要通过介绍Like索引及常见索引失效情况 xff0c 以MySQL为例 2 EXPLAIN关键字 一条查询语句在经过MySQL查询优化器的各种基于成本和规则的优化会后生成一个所谓的执行计划 EXPLAIN 语句 就可以看到某
  • Linux——进程和计划任务管理(理论+实验)

    目录 前言一 程序 进程线程概述1 1 程序1 2 进程1 3 线程1 4 程序 进程和线程的关系1 5 程序和进程的关系 二 查看进程2 1 1 ps 命令 查看静态的进程统计信息 xff08 Processes Statistic xf
  • Uncaught SyntaxError: Unexpected token ‘var‘

    遇到Uncaught SyntaxError Unexpected token 39 var 怎么去解决 1 发现报错 xff0c 就去找报错 2 怎么查找这个报错并修改这个报错 3 为什么我写的时候没有提示报错 xff0c 运行的时候才显
  • 如何使用Maven创建Mybatis项目

    1 打开idea xff0c 依次点击左上角的File gt New gt project 2 选择Maven xff0c 然后点击Next 3 通过点击这个文件夹进行文件存放地址的改变 xff0c 然后输入项目的名字 4 再点击Finis
  • 树莓派3B+raspbian+docker+hassio安装教程

    说明 1 此文转载 侵删 参考https bbs hassbian com thread 3501 1 1 html 2 修改echo 34 96 date 43 H M S 96 gt gt gt gt gt gt gt gt gt gt
  • Linux - 开机启动流程

    目录 一 掌握开机启动流程的意义 xff1a 1 1 为什么需要了解开机启动流程 xff1f 1 2 在日常的运维过程中 xff0c 是否会遇到机器出现问题启动不了 xff1f 1 3 开机启动流程的意义 二 开机启动流程 2 1 开机启动