云原生-集群管理

1.集群管理命令:

  a.如何管理集群?

-kubectl是用于控制Kubernetes集群的命令行工具

b.语法格式:

-kubectl [command]  [TYPE]     [NAME]    [flages]

command:子命令,如create、get、descrbe、delete

type:资源类型,可以表示为单数,复数或缩写形式

name:资源的总称,如果忽略,则显示所有资源信息

flages:指定可选标志,或附加的参数

2.管理主机授权

a.为其他主机添加管理权限

-安装集群管理工具kubectl:eg:

b.拷贝证书到目标主机

-证书默认路径:$ [HOME]/.kube/config

K8s集群管理案例:

信息查询命令
子命令	说明
help	用于查看命令及子命令的帮助信息
cluster-info	显示集群的相关配置信息
api-resources	查看当前服务器上所有的资源对象
api-versions	查看当前服务器上所有资源对象的版本
config	管理当前节点上的认证信息
命令示例
help# 查看帮助命令信息
[root@master ~]# kubectl help version
Print the client and server version information for the current context.Examples:# Print the client and server versions for the current contextkubectl version
... ...
cluster-info# 查看集群状态信息
[root@master ~]# kubectl cluster-info 
Kubernetes control plane is running at https://192.168.88.50:6443
CoreDNS is running at https://192.168.88.50:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
... ...
api-resources# 查看资源对象类型
[root@master ~]# kubectl api-resources 
NAME             SHORTNAMES     APIVERSION      NAMESPACED      KIND
bindings                        v1              true            Binding
endpoints        ep             v1              true            Endpoints
events           ev             v1              true            Event
... ...
api-versions# 查看资源对象版本
[root@master ~]# kubectl api-versions 
admissionregistration.k8s.io/v1
apiextensions.k8s.io/v1
apiregistration.k8s.io/v1
apps/v1
... ...
config# 查看当前认证使用的用户及证书
[root@master ~]# kubectl config get-contexts 
CURRENT   NAME                          CLUSTER      AUTHINFO
*         kubernetes-admin@kubernetes   kubernetes   kubernetes-admin
# 使用 view 查看详细配置
[root@master ~]# kubectl config view 
apiVersion: v1
clusters:
- cluster:certificate-authority-data: DATA+OMITTEDserver: https://192.168.88.50:6443name: kubernetes
contexts:
- context:cluster: kubernetesuser: kubernetes-adminname: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-adminuser:client-certificate-data: REDACTEDclient-key-data: REDACTED
集群管理授权
[root@harbor ~]# vim /etc/hosts
192.168.88.240  harbor
192.168.88.50   master
192.168.88.51   node-0001
192.168.88.52   node-0002
192.168.88.53   node-0003[root@harbor ~]# dnf makecache
[root@harbor ~]# dnf install -y kubectl
[root@harbor ~]# mkdir -p $HOME/.kube
[root@harbor ~]# rsync -av master:/etc/kubernetes/admin.conf $HOME/.kube/config
[root@harbor ~]# chown $(id -u):$(id -g) $HOME/.kube/config
[root@harbor ~]# kubectl get nodes
NAME        STATUS   ROLES           AGE   VERSION
master      Ready    control-plane   24h   v1.29.2
node-0001   Ready    <none>          22h   v1.29.2
node-0002   Ready    <none>          22h   v1.29.2
node-0003   Ready    <none>          22h   v1.29.2

3.资源对象概述

a.什么是资源对象?

-K8s中把可以创建或配置的应用和服务称为资源对象

-我们在集群中创建的Pod、负载均衡、存储、网络服务等等都是资源对象

b.如何创建资源对象?

-简单资源对象可以使用“kubectl”直接创建

-高级资源对象需要使用“资源清单文件”创建

c.上传镜像到harbor仓库

d.使用run创建一个Pod资源对象

格式:kubectl run <pod名称>   [选项/参数]     ---image    <镜像:标签>

Pod管理案例:

Pod 管理
创建 Pod
上传镜像到 harbor 仓库
rsync -av public/myos.tar.xz 192.168.88.50:/root/
# 导入镜像
[root@master ~]# docker load -i myos.tar.xz
# 上传镜像到 library 项目
[root@master ~]# docker images|while read i t _;do[[ "${t}" == "TAG" ]] && continue[[ "${i}" =~ ^"harbor:443/".+ ]] && continuedocker tag ${i}:${t} harbor:443/library/${i##*/}:${t}docker push harbor:443/library/${i##*/}:${t}docker rmi ${i}:${t} harbor:443/library/${i##*/}:${t}
done
创建 Pod
# 创建 Pod 资源对象
[root@master ~]# kubectl run myweb --image=myos:httpd
pod/myweb created# 查询资源对象
[root@master ~]# kubectl get pods -o wide
NAME     READY   STATUS    RESTARTS   AGE   IP           NODE
myweb    1/1     Running   0          3s    10.244.1.3   node-0001# 访问验证
[root@master ~]# curl http://10.244.1.3
Welcome to The Apache.

4.Pod概述

a.什么是Pod?

-Pod就像是豌豆荚一样,它由一个或者多个容器组成

-Pod是一个服务的多个进程的聚合单位

-Pod是Kubernetes中最小的管理元素

-Pod会自动维护在其中运行的容器

-Pod具有原子性、一致性特点

-同一个Pod共享网络与卷

Pod创建过程:

b.Pod状态

-Pod的status字段是一个PodStatus的对象,Pod对象总是应该处于其生命进程中以下几个相位(phase)之一.

5.Pod管理命令

a.系统中的核心服务都是运行在Pod中

-核心管理命令

续Pod管理命令:常用参数

-参数[ -o name]只显示名字

-参数[-o  wide]显示更加的详细信息

-参数[-o  yaml/json] 以Yaml/json格式显示资源对象.

b.系统命名空间

-default 默认的命名空间,不声明命名空间的Pod都在这

-Kube-node-lease 为高可用提供心跳监视的命名空间

-Kube-public公共数据,所有用户都可以读取它

-Kube-system系统服务对象所使用的命名空间

c.K8s系统核心服务都运行在Kube-system名称空间中

d.Kubectl create 语法格式

Kubectl create <资源对象>   [选项/参数]

e.Kubectl run 语法格式

kubectl run pod名称 [选项/参数]

f.kubectl describe 语法格式

kubectl describe  资源类型 [资源名称]   [选项/参数]

-Events下是事务日志,常用于排错

g.kubectl logs 语法格式

kubectl logs pod名称   [选项/参数]

6.Pod排错

a.排错三兄弟

-K8s的系统管理和排错一直都是难点和重点,在实际工作中排查问题、解决问题是我们必须要掌握的技能之一。

kubectl get

kubectl describe

kubectl logs

案例:

get# 查看 Pod 资源对象
[root@master ~]# kubectl get pods
NAME     READY   STATUS    RESTARTS   AGE
myweb    1/1     Running   0          10m# 只查看资源对象的名字
[root@master ~]# kubectl get pods -o name
pod/myweb# 查看资源对象运行节点的信息
[root@master ~]# kubectl get pods -o wide
NAME     READY   STATUS    RESTARTS   AGE   IP           NODE
myweb    1/1     Running   0          10m   10.244.1.3   node-0001# 查看资源对象详细信息,Yaml/Json 格式
[root@master ~]# kubectl get pod myweb -o yaml
apiVersion: v1
kind: Pod
metadata:name: myweb
... ...# 查看名称空间
[root@master ~]# kubectl get namespaces 
NAME              STATUS   AGE
default           Active   39h
kube-node-lease   Active   39h
kube-public       Active   39h
kube-system       Active   39h# 查看名称空间中的 Pod 信息
[root@master ~]# kubectl -n kube-system get pods
NAME                             READY   STATUS    RESTARTS      AGE
etcd-master                      1/1     Running   0             39h
kube-apiserver-master            1/1     Running   0             39h
kube-controller-manager-master   1/1     Running   0             39h
kube-scheduler-master            1/1     Running   0             39h
... ...
create# 创建名称空间资源对象
[root@master ~]# kubectl create namespace work
namespace/work created# 查看名称空间
[root@master ~]# kubectl get namespaces
NAME              STATUS   AGE
default           Active   39h
kube-node-lease   Active   39h
kube-public       Active   39h
kube-system       Active   39h
work              Active   11s
run# 在 work 名称空间创建 Pod
[root@master ~]# kubectl -n work run myhttp --image=myos:httpd
pod/myhttp created# 查询资源对象
[root@master ~]# kubectl -n work get pods -o wide
NAME     READY   STATUS    RESTARTS   AGE   IP           NODE
myhttp   1/1     Running   0          3s    10.244.2.2   node-0002# 访问验证
[root@master ~]# curl http://10.244.2.2
Welcome to The Apache.
describe# 查看资源对象的配置信息
[root@master ~]# kubectl -n work describe pod myhttp
Name:             myhttp
Namespace:        work
Priority:         0
Service Account:  default
Node:             node-0002/192.168.88.52
... ...
Events:Type    Reason     Age   From               Message----    ------     ----  ----               -------Normal  Scheduled  7s    default-scheduler  Successfully assigned work/myhttp to node-0002Normal  Pulling    6s    kubelet            Pulling image "myos:httpd"Normal  Pulled     2s    kubelet            Successfully pulled image "myos:httpd" in 4.495s (4.495s including waiting)Normal  Created    2s    kubelet            Created container myhttpNormal  Started    2s    kubelet            Started container myhttp# 查看 work 名称空间的配置信息
[root@master ~]# kubectl describe namespaces work
Name:         work
Labels:       kubernetes.io/metadata.name=work
Annotations:  <none>
Status:       ActiveNo resource quota.No LimitRange resource.
logs# 查看容器日志
[root@master ~]# kubectl -n work logs myhttp
[root@master ~]# 
[root@master ~]# kubectl -n default logs myweb 
2022/11/12 18:28:54 [error] 7#0: *2 open() "... ..." failed (2: No such file or directory), ...... 

b.Pod管理命令(续)

管理命令:

--kubectl exec 在容器内执行命令

kubectl exec [选项/参数]  Pod名称 ---操作命令

-常用参数 -it分配交互式终端

--kubectl cp拷贝文件/目录

kubectl cp  [选项/参数] 原文件   目标文件

-路径格式  [Pod名称:绝对路径]

--kubectl delete语法格式

-集群中所有资源均可使用delete命令删除

kubectl delete  [选项/参数]  资源类型 资源名称

总结:

子命令说明备注
exec在某一个容器内执行特定的命令可选参数: -c 容器名称
cp在容器和宿主机之间拷贝文件或目录可选参数: -c 容器名称
delete删除资源对象可选参数: -l 标签

案例:

exec# 在容器内执行命令
[root@master ~]# kubectl exec -it myweb -- ls 
index.html  info.php[root@master ~]# kubectl exec -it myweb -- bash
[root@myweb html]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450inet 10.244.1.3  netmask 255.255.255.0  broadcast 10.244.2.255ether 3a:32:78:59:ed:25  txqueuelen 0  (Ethernet)
... ...
cp# 与容器进行文件或目录传输
[root@master ~]# kubectl cp myweb:/etc/yum.repos.d /root/aaa
tar: Removing leading `/' from member names
[root@master ~]# tree /root/aaa
/root/aaa
├── local.repo
├── Rocky-AppStream.repo
├── Rocky-BaseOS.repo
└── Rocky-Extras.repo0 directories, 4 files
[root@master ~]# kubectl -n work cp /etc/passwd myhttp:/root/mima
[root@master ~]# kubectl -n work exec -it myhttp -- ls /root/
mima
delete# 删除资源对象
[root@master ~]# kubectl delete pods myweb 
pod "myweb" deleted# 删除 work 名称空间下所有 Pod 对象
[root@master ~]# kubectl -n work delete pods --all
pod "myhttp" deleted# 删除名称空间
[root@master ~]# kubectl delete namespaces work 
namespace "work" deleted

7.资源监控组件

a.资源指标概述

资源指标有什么用?

在安装部署程序之后,必须要了解应用程序在部署后的性能以及资源使用情况。你可以通过检测 P od 容器或节点来了解整个集群的情况。

如何监控资源指标?

Kubernetes 的 Metrics-server 组件提供有关节点和 Pod 的资源使用情况的信息,包括 CPU 和内存的指标。如果将 Metrics-server 部署到集群中,就可以查询并使用到这些信息管理应用及服务。b.Metrics-server 是什么?

Metrics-Server 是集群核心监控数据的聚合器。通俗地说,它存储了集群中各节点和 Pod 的监控数据,并且提供了API以供查询和使用。Metrics-Server 通过 kubelet 获取 node 和 Pod 的 CPU、内存等监控数据。为调度器、弹性控制器、以及 Dashboard 等UI组件提供数据来源。

c.Matrics-server组件安装

-安装Metrics-server条件:

--必须启用聚合服务或使用kube-proxy代理转发

--节点必须启用身份验证和授权

--证书需要由集群证书颁发机构签名

----签发引导令牌

案例:资源监控组件

资源监控组件
配置授权令牌
[root@master ~]# echo 'serverTLSBootstrap: true' >>/var/lib/kubelet/config.yaml
[root@master ~]# systemctl restart kubelet
[root@master ~]# kubectl get certificatesigningrequests 
NAME        AGE   SIGNERNAME                      REQUESTOR            REQUESTEDDURATION   CONDITION
csr-2hg42   14s   kubernetes.io/kubelet-serving   system:node:master   <none>              Pending
[root@master ~]# kubectl certificate approve csr-2hg42
certificatesigningrequest.certificates.k8s.io/csr-2hg42 approved
[root@master ~]# kubectl get certificatesigningrequests 
NAME        AGE   SIGNERNAME                      REQUESTOR            REQUESTEDDURATION   CONDITION
csr-2hg42   28s   kubernetes.io/kubelet-serving   system:node:master   <none>              Approved,Issued
安装插件 metrics
# 上传镜像到私有仓库
[root@master ~]# cd plugins/metrics
[root@master metrics]# docker load -i metrics-server.tar.xz
[root@master metrics]# docker images|while read i t _;do[[ "${t}" == "TAG" ]] && continue[[ "${i}" =~ ^"harbor:443/".+ ]] && continuedocker tag ${i}:${t} harbor:443/plugins/${i##*/}:${t}docker push harbor:443/plugins/${i##*/}:${t}docker rmi ${i}:${t} harbor:443/plugins/${i##*/}:${t}
done# 使用资源对象文件创建服务
[root@master metrics]# sed -ri 's,^(\s*image: )(.*/)?(.+),\1harbor:443/plugins/\3,' components.yaml
140:     image: registry.k8s.io/metrics-server/metrics-server:v0.6.4
[root@master metrics]# kubectl apply -f components.yaml# 验证插件 Pod 状态
[root@master metrics]# kubectl -n kube-system get pods
NAME                             READY   STATUS    RESTARTS   AGE
metrics-server-ddb449849-c6lkc   1/1     Running   0          64s
证书签发
# 查看节点资源指标
[root@master metrics]# kubectl top nodes
NAME        CPU(cores)    CPU%         MEMORY(bytes)     MEMORY%     
master      99m           4%           1005Mi            27%         
node-0001   <unknown>     <unknown>    <unknown>        <unknown>
node-0002   <unknown>     <unknown>    <unknown>        <unknown>
node-0003   <unknown>     <unknown>    <unknown>        <unknown>#--------------- 在所有计算节点配置证书 -----------------
[root@node ~]# echo 'serverTLSBootstrap: true' >>/var/lib/kubelet/config.yaml
[root@node ~]# systemctl restart kubelet#--------------- 在 master 签发证书 -------------------
[root@master ~]# kubectl certificate approve $(kubectl get csr -o name)
certificatesigningrequest.certificates.k8s.io/csr-t8799 approved
certificatesigningrequest.certificates.k8s.io/csr-69qhz approved
... ...
[root@master ~]# kubectl get certificatesigningrequests
NAME        AGE   SIGNERNAME                      REQUESTOR   CONDITION
csr-2hg42   14m   kubernetes.io/kubelet-serving   master      Approved,Issued
csr-9gu29   28s   kubernetes.io/kubelet-serving   node-0001   Approved,Issued
... ...
资源指标监控
# 获取资源指标有延时,等待 15s 即可查看
[root@master ~]# kubectl top nodes
NAME        CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
master      83m          4%     1789Mi          50%       
node-0001   34m          1%     747Mi           20%       
node-0002   30m          1%     894Mi           24%       
node-0003   39m          1%     930Mi           25%  

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

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

相关文章

基于Linux下的vscode c/c++开发环境搭建详细教程

vscode是文本编辑而非集成开发环境&#xff0c;需要经过配置才能在其上编译执行代码。本教程将具体详解在linux上配置Visual Studio Code使用GCC C 编译器&#xff08;g&#xff09;和GDB调试器的方法&#xff08;GCC是GNU 编译器集合&#xff0c;GDB则是 GNU调试器&#xff09…

【EGSR2025】材质+扩散模型+神经网络相关论文整理随笔

MatSwap: Light-aware material transfers in images 介绍任务&#xff1a;输入一张拍摄图像、示例材质纹理图像&#xff08;这里跟BRDF无关&#xff0c;通常我们讲到材质一般指的是SVBRDF&#xff0c;但是这里的材质指的只是纹理&#xff09;、用户为拍摄图像指定的遮罩区域&…

WebRTC 双向视频通话

WebRTC 双向视频通话 一、项目概述 WebRTC&#xff08;Web Real - Time Communication&#xff09;是一种支持浏览器之间进行实时通信的技术&#xff0c;它使得在网页上实现音视频通话、文件共享等功能变得更加容易。为了体验这个技术&#xff0c;所以我实现了webrtc - local…

Paimon lookup核心过程:分级查找、二分和缓存创建

LookupLevels LookupLevels 在 Paimon 中扮演着**“带缓存的、基于 Key 的数据查找引擎”**的角色。它的核心使命是&#xff1a;当需要根据主键&#xff08;Key&#xff09;查找某条数据时&#xff0c;能够高效地在 LSM-Tree 的多层&#xff08;Levels&#xff09;数据文件中定…

Ruby大会演讲实录:Baklib 如何用 AI 重构内容管理赛道

“2015 年成都 Ruby 大会时&#xff0c;我们还在做大数据项目&#xff1b;2025 年的今天&#xff0c;Baklib 已服务 800 多家企业。” 在 RubyConf China 2025 的演讲台上&#xff0c;Baklib 创始人Song以十年对比开篇&#xff0c;讲述了从技术爱好者到企业服务创业者的蜕变&am…

408第三季part2 - 计算机网络 - 传输层II

理解第一次和第二次握手是不能携带数据&#xff0c;只能消耗一个序号后面挥手也有第一次和第三次题目建立连接是1000&#xff0c;FIN挥手是5001&#xff0c;这两个是不会带数据的所以字节数范围是1001-50005000-10011 4000c再次理解还可以叫快速重传题目服务器想要100确认号客…

揭秘图像LLM:从像素到语言的智能转换

图像LLM是怎么工作 图像LLM(多模态大语言模型)的核心是将图像转化为语言模型能理解的“语言”,并与文本深度融合。以下结合CLIP、DALL-E、GPT-4V等主流模型,通过具体例子说明其工作机制: 一、图像→特征向量:从像素到“密码” 例子:识别“戴墨镜的猫” 视觉编码器提取…

十、K8s集群资源合理化分配

十、K8s集群资源合理化分配 文章目录 十、K8s集群资源合理化分配1、K8s 资源限制 ResourceQuota1.1 什么是ResourceQuota&#xff1f;1.2 ResourceQuota通常用于如下场景&#xff1a;1.3 基于租户和团队的资源限制1.4 基于命名空间的资源限制 2、K8s 资源限制 LimitRange2.1 设…

Android 13 设置界面会判断当前屏幕的大小,如果是大屏,则为左右屏显示

1.前言 在13.0的系统rom定制化开发中,在某些时候,在大屏设备中,设置新增了左右分屏的功能,就是 左边显示主菜单,右边显示一级菜单的功能,某些情况下不需要,接下来关闭这个功能 2.设置界面会判断当前屏幕的大小,如果是大屏,则为左右屏显示的核心类 packages/apps/Sett…

算法学习day15----蓝桥杯--进制转换

python代码&#xff1a;def jinzhizhuanhuan(x, n):ans 0while x > 0:ans x % nx // nreturn ans sum 0 for i in range(1, 2025):if jinzhizhuanhuan(i, 2) jinzhizhuanhuan(i, 4):sum 1 print(sum)虽然结束了期末周&#xff0c;但是又变懒了不少&#xff0c;水一个先…

OpenStack扩展

一、OpenStack &#xff08;开源云计算管理平台&#xff09;的核心服务组件及功能计算服务&#xff08;Compute - Nova&#xff09;功能&#xff1a;是 OpenStack 计算资源管理的核心组件&#xff0c;负责虚拟机实例全生命周期管理&#xff0c;像实例的创建、启动、暂停、迁移、…

【LeetCode 热题 100】41. 缺失的第一个正数——(解法二)原地哈希

Problem: 41. 缺失的第一个正数 题目&#xff1a;给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 【LeetCode 热题 100】41. 缺失的第一个正数——&#xff08;解法一&am…

C#上位机之Modbus通信协议!

文章目录前言一、Modbus概念二、使用步骤1.使用Modbus准备2.使用步骤三、Modbus RTU 与 Modbus ASCII对比前言 Modbus通信协议&#xff01; 一、Modbus概念 从站设备编码&#xff08;从站地址、单元ID&#xff09;&#xff0c;一主多从。 存储区&#xff1a;0-线圈状态、1-输…

前后端分离架构下的跨域问题与解决方案

在现代Web开发中&#xff0c;特别是随着前后端分离架构的普及&#xff0c;跨域问题成为了开发者必须面对的一个重要议题。本文将详细介绍什么是跨域问题、其产生的原因以及如何从前端和后端两个角度来解决这个问题&#xff0c;并提供一些实用的代码示例。一、跨域问题概述1. 定…

搜索数据建设系列之数据架构重构

导读 主要概述百度搜索业务数据建设的创新实践&#xff0c;重点围绕宽表模型设计、计算引擎优化和新一代业务服务交付模式&#xff08;图灵3.0开发模式&#xff09;三大方向&#xff0c;解决了传统数仓在搜索场景下面临的诸多挑战&#xff0c;实现了搜索数据建设的高效、稳定、…

2025年渗透测试面试题总结-2025年HW(护网面试) 29(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。、 目录 2025年HW(护网面试) 29 1. 样本分析思路 2. Linux GDB分析样本示例 3. 应急案例&#xff1a;WebShell后…

动态编程入门第二节:委托与事件 - Unity 开发者的高级回调与通信艺术

动态编程入门第一节&#xff1a;C# 反射 - Unity 开发者的超级工具箱 动态编程入门第二节&#xff1a;委托与事件 - Unity 开发者的高级回调与通信艺术 上次我们聊了 C# 反射&#xff0c;它让程序拥有了在运行时“看清自己”的能力。但光能看清还不够&#xff0c;我们还需要让…

降低网络安全中的人为风险:以人为本的路径

有效降低网络安全中的人为风险&#xff0c;关键在于采取以人为本的方法。这种方法的核心在于通过高效的培训和实践&#xff0c;使员工掌握安全知识、践行安全行为&#xff0c;并最终培育出安全且相互支持的文化氛围。 诚然&#xff0c;技术和政策必须为良好的安全行为提供支持、…

opencv裁剪和编译

opencv裁剪和编译 0. 准备工作 0.1 下载和安装Eigen 地址 https://eigen.tuxfamily.org/index.php?titleMain_Page对于opencv编译&#xff0c;需要增加EIGEN_INCLUDE_PATH和开启WITH_EIGEN -DWITH_EIGENON -DEIGEN_INCLUDE_PATH./3rd/eigen-3.4.01. 实际脚本 编译脚本如下: ch…

小白成长之路-mysql数据基础(三)

文章目录一、主从复制二、案例总结一、主从复制 1、master开启二进制日志记录2、slave开启IO进程&#xff0c;从master中读取二进制日志并写入slave的中继日志3、slave开启SQL进程&#xff0c;从中继日志中读取二进制日志并进行重放4、最终&#xff0c;达到slave与master中数据…