K8s 安装部署-Master和Minion(Node)
K8s 安装部署-Master和Minion(Node)
操作系统版本:CentOS 7.4
Master :172.20.26.167
Minion-1:172.20.26.198
Minion-2:172.20.26.210(后增加节点)
ETCD:172.20.27.218
先安装部署ETCD
yum install etcd -y
cd /etc/etcd/
cp etcd.conf etcd.conf.bak #备份etcd.conf 文件
grep -aivE "#|^$" etcd.conf #去掉#、空行的显示
[root@localhost etcd]# grep -aivE "#|^$" etcd.conf
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"
ETCD_NAME="default"
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"
vim etcd.conf
[root@localhost etcd]# mkdir -p /data/etcd/ #创建ETCD的数据目录
[root@localhost etcd]# id etcd #看看ETCD用户
uid=997(etcd) gid=995(etcd) 组=995(etcd)
[root@localhost etcd]# chown -R etcd.etcd /data/etcd/ #对数据目录授权etcd用户和组
[root@localhost etcd]# ls -ld /data/etcd/ #查看数据目录权限
drwxr-xr-x. 2 etcd etcd 6 4月 17 13:32 /data/etcd/
启动ETCD 服务
systemctl start etcd.service
ps -ef |grep -aiE etcd
创建key
etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'
安装部署Master
yum install kubernetes-master flannel -y
[root@bogon kubernetes]# vim apiserver
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
KUBE_API_PORT="--port=8080"
KUBE_ETCD_SERVERS="--etcd-servers=http://172.20.26.218:2379"
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
因为我们没有配置账号和密码,所以要把“ServiceAccount,”删除掉,否则会出问题
[root@bogon kubernetes]# vim config
KUBE_ALLOW_PRIV="--allow-privileged=true"
KUBE_MASTER="--master=http://172.20.26.167:8080"
[root@bogon kubernetes]# systemctl start kube-apiserver
[root@bogon kubernetes]# systemctl start kube-controller-manager
[root@bogon kubernetes]# systemctl start kube-scheduler
[root@bogon]#ps -ef | grep kube
查看kube-apiserver、kube-controller-manager、kube-scheduler服务进程都起来了,到此Master 端部署完成。
也可以使用for I in 命令重新启动各个服务:
for I in etcd kube-apiserver kube-controller-manager kube-scheduler; do
systemctl restart $I
systemctl enable $I
systemctl status $I
done
安装部署(Node)Minion端
yum install kubernetes-node docker flannel *rhsm* -y
[root@bogon ~]# cd /etc/kubernetes/
[root@bogon kubernetes]# vim config
KUBE_ALLOW_PRIV="--allow-privileged=true" 在web管理界面中,让勾选“以特权身份运行”生效
KUBE_MASTER="--master=http://172.20.26.167:8080"
[root@bogon kubernetes]# vim kubelet
KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_HOSTNAME="--hostname-override=172.20.26.198"
KUBELET_API_SERVER="--api-servers=http://172.20.26.167:8080"
vim /etc/sysconfig/flanneld #配置flannel网络
service flanneld start #先启动flanneld服务
service docker start #再启动docker 服务
在Master端也要配置flannel网络
[root@bogon ~]# vim /etc/sysconfig/flanneld
service flanneld start #启动flanneld服务
回到Minion端
启动kubelet、kube-proxy服务
[root@bogon ~]# service kubelet start
Redirecting to /bin/systemctl start kubelet.service
[root@bogon ~]# service kubelet restart
Redirecting to /bin/systemctl restart kubelet.service
[root@bogon ~]# service kube-proxy start
Redirecting to /bin/systemctl start kube-proxy.service
查看相关进程
[root@bogon ~]# ps -ef |grep kube
[root@bogon ~]# ps -ef |grep docker
[root@bogon ~]# ps -ef |grep flanneld
至此Minion端配置完成。
在Master端输入kubectl get nodes 验证是否成功?看到STATUS 的状态为Read 即可
[root@bogon ~]# kubectl get nodes
在Master端查看IP地址信息
在Minion端查看IP地址信息
在Master端查看FORWARD参数策略是否为ACEEPT(允许)?
[root@bogon ~]# iptables -t filter -L -n
Ping Minion端IP地址是通的
[root@bogon ~]# ping 172.17.60.1
[root@bogon ~]# ping 172.17.60.0
在Minion 端ping 172.17.34.0 看是否通
至此,Master和Minion端网络已打通。
在Minion端查看FORWARD 规则参数为DROP(丢弃)状态
需要将FORWARD 规则设置为ACCEPT(允许)状态
[root@bogon ~]# iptables -P FORWARD ACCEPT
[root@bogon ~]# iptables -t filter -L -n
K8S集群搭建完成。
创建K8S的web 管理界面
在Minion端导入两个镜像文件:pod-infrastructure、kubernetes-dashboard-amd64
这两个镜像文件直接从网络上下载可能会超时,导致导入失败,所以可以先从本地上传后进行导入。
Docker镜像导入指令如下:
docker load <pod-infrastructure.tgz,将导入的pod镜像名称修改,命令如下:
docker tag $(docker images|grep none|awk '{print $3}') registry.access.redhat.com/rhel7/pod-infrastructure
docker load <kubernetes-dashboard-amd64.tgz,将导入的pod镜像名称修改,命令如下:
docker tag $(docker images|grep none|awk '{print $3}') bestwu/kubernetes-dashboard-amd64:v1.6.3
然后在Master端,上传两个yaml文件:dashboard-controller.yaml、dashboard-service.yaml
在Master 端创建k8s目录,将dashboard-controller.yaml、dashboard-service.yaml 移动到k8s目录下
然后修改一下dashboard-controller.yaml文件里的api地址
[root@bogon k8s]# vim dashboard-controller.yaml
保存退出
创建dashboard dashborad pods模块
kubectl create -f dashboard-controller.yaml
kubectl create -f dashboard-service.yaml
[root@bogon k8s]# kubectl get pods -n kube-system
看到STATUS状态为Running ,表示web界面配置成功。
通过浏览器访问Master端IP地址的8080端口
http://172.20.26.167:8080
在http://172.20.26.167:8080后面加上ui 即可访问k8s的web界面
http://172.20.26.167:8080/ui
制作centOS7镜像,先上传一个centos7-ansible镜像包,使用Dockerfile 文件制作镜像
vim Dockerfile
mkdir -p /Docker
将Dockerfile 文件移动到/Docker目录下
mv Dockerfile /Docker/
cd /Docker
docker build -t centos7-ssh:v1 .
在k8s管理界面,点击“创建”,新建一个名称为centos7容器,容器镜像:centos7-ssh:v1,显示高级选项,勾选“以特权身份运行”,点击“部署”
Centos7容器创建完成,点击“容器组”里的“centos7-3728401273-pzr09”新建容器名,
也可以点击右上角的“运行命令“按钮,进入命令行界面
也可以通过Minion端通过ssh 连接进入这个容器
创建部署nginx容器
可以对nginx容器进行扩容多个
再增加Node(Minion)节点
yum install kubernetes-node docker flannel* *rhsm* -y
[root@bogon ~]# cd /etc/kubernetes/
编辑
[root@bogon kubernetes]# vim config
KUBE_ALLOW_PRIV="--allow-privileged=true" 在web管理界面中,让勾选“以特权身份运行”生效
KUBE_MASTER="--master=http://172.20.26.167:8080"
[root@bogon kubernetes]# vim kubelet
KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_HOSTNAME="--hostname-override=172.20.26.210"
KUBELET_API_SERVER="--api-servers=http://172.20.26.167:8080"
[root@bogon /]# vim /etc/sysconfig/flanneld 配置flannel网络
FLANNEL_ETCD_ENDPOINTS="http://172.20.218:2379"
service flanneld start 先启动flanneld服务
flanneld服务无法启动,报错
将Minion端系统重启一下,
再执行service flanneld start 启动flanneld服务
service docker start #再启动docker 服务
启动kubelet、kube-proxy服务
[root@bogon ~]# service kubelet start
Redirecting to /bin/systemctl start kubelet.service
[root@bogon ~]# service kubelet restart
Redirecting to /bin/systemctl restart kubelet.service
[root@bogon ~]# service kube-proxy start
Redirecting to /bin/systemctl start kube-proxy.service
也可以用for I in命令启动服务
for I in kube-proxy kubelet flanneld docker
do
systemctl restart $I
systemctl enable $I
done
service iptables stop;iptables -P FORWARD ACCEPT
查看相关进程
[root@bogon ~]# ps -ef |grep kube
[root@bogon ~]# ps -ef |grep docker
[root@bogon ~]# ps -ef |grep flanneld
至此新增加的Node(Minion)节点配置完成。
在Master端输入kubectl get nodes 验证是否成功?看到STATUS 的状态为Read 即可
[root@bogon ~]# kubectl get nodes
回到k8s 管理界面,查看节点情况,172.20.26.210节点成功增加
创建K8S的web 管理界面
因没有创建本地仓库,所以需要在Minion端再导入pod-infrastructure、kubernetes-dashboard-amd64两个镜像文件。如果已创建好本地仓库,在第一次部署Minion节点时,将pod-infrastructure、kubernetes-dashboard-amd64镜像上传到本地仓库即可。
这两个镜像文件直接从网络上下载可能会超时,导致导入失败,所以可以先从本地上传后进行导入。
Docker镜像导入指令如下:
docker load <pod-infrastructure.tgz,将导入的pod镜像名称修改,命令如下:
docker tag $(docker images|grep none|awk '{print $3}') registry.access.redhat.com/rhel7/pod-infrastructure
docker load <kubernetes-dashboard-amd64.tgz,将导入的pod镜像名称修改,命令如下:
docker tag $(docker images|grep none|awk '{print $3}') bestwu/kubernetes-dashboard-amd64:v1.6.3
回到k8s管理界面,查看节点数量
新部署tomcat容器,数量为2,将会在两个节点中分别创建1台tomcat容器。
由于是在网上下载tomcat 镜像,需要等待时间较长,最后完成情况如下
在master控制端查看所有云主机的IP 地址
[root@bogon ~]# kubectl get -n default pods -o wide
[root@bogon ~]# kubectl get -n default pods -o wide|awk '{print $1,$6}'|awk -F"-" 'NR>1 {print $1,$NF}'|awk '{print $1,$NF}'
可以通过宿主机重启容器
[root@bogon ~]# docker ps |grep tomcat 查看tomcat容器ID
[root@bogon ~]# docker restart 574bf1497167 重启tomcat容器
重启,数据不会丢失
如果是删除云主机,会自动产生一台云主机,但是数据丢失
创建本地私有仓库
在172.20.26.198上创建本地私有仓库
docker pull docker.io/registry
mkdir -p /data/registry/
docker run -itd -p 5000:5000 -v /data/registry:/var/lib/registry docker.io/registry
[root@bogon ~]# vim /etc/docker/daemon.json
"insecure-registries":["172.20.26.198:5000"]
[root@bogon ~]# service docker restart
[root@bogon ~]# ps -ef |grep 5000 查看5000端口状态
Docker images 查看一下镜像信息
对centos7-ssh镜像修改tag号
[root@bogon ~]# docker tag 5a97f88791d1 172.20.26.198:5000/centos7-ssh:v1
将修改好tag号的centos7-ssh镜像上传到本地仓库中
docker push 172.20.26.198:5000/centos7-ssh:v1
[root@bogon ~]# docker ps -a 查看docker 容器情况docker.io/registry
[root@bogon ~]# docker start bf5bd542fba4 启动docker.io/registry
[root@bogon ~]# ps -ef |grep 5000 查看5000端口情况
[root@bogon ~]# docker push 172.20.26.198:5000/centos7-ssh:v1 再次上传镜像到本地仓库
上传成功
上传一个nginx镜像到本地仓库
[root@bogon Docker]# vim Dockerfile_nginx 编写安装nginx的Dockerfile文件
[root@bogon Docker]# docker build -t centos7-nginx:v1 - < Dockerfile_nginx
[root@bogon ~]# docker images
[root@bogon ~]# docker tag 0672328a3122 172.20.26.198:5000/centos7-nginx:v1 修改tag号
[root@bogon ~]# docker push 172.20.26.198:5000/centos7-nginx:v1 上传nginx镜像到本地仓库
[root@bogon ~]# docker ps | grep 5000
查看本地私有仓库里的镜像
ls -l /data/registry/docker/registry/v2/repositories/
添加2个nginx“外部”服务的容器,使用本地私有仓库
Failed to pull image "172.20.26.198:5000/nginx:latest": Get https://172.20.26.198:5000/v1/_ping: http: server gave HTTP response to HTTPS client
Error syncing pod, skipping: failed to "StartContainer" for "nginx" with ErrImagePull: "Get https://172.20.26.198:5000/v1/_ping: http: server gave HTTP response to HTTPS client"
以上错误原因是在172.20.26.210节点上daemon.json文件里要指定本地私有仓库的地址,
vim /etc/docker/daemon.json
执行以下命令,重启相关服务
for I in kube-proxy kubelet flanneld docker
do
systemctl restart $I
systemctl enable $I
done
service iptables stop;iptables -P FORWARD ACCEPT
回到k8sweb界面,查看错误状态是否已消失
故障问题:
用Dockerfile 做了个镜像,改了tag号,push 到本地仓库,提示连接被拒绝
解决:
docker run -itd -p 5000:5000 -v /data/registry:/var/lib/registry docker.io/registry
docker ps
docker push 172.20.26.198:5000/centos7-nginx:v2
创建部署外部nginx主机
故障问题:
故障问题
Master、Minion端排查解决:
Master端:
1、ps -ef | grep kube 查看kube-apiserver、kube-controller-manager、kube-scheduler服务
2、 ps -ef |grep flanneld 查看flanneld的状态
3、ifconfig 查看网卡地址情况(是否有flannel0地址)
Minion端:
1、ps -ef |grep kube 查看kubelet、kube-proxy服务
2、ps -ef |grep docker 查看Docker状态
3、 ps -ef |grep flanneld 查看flanneld的状态
4、iptables -t filter -L -n 查看是否是Chain FORWARD (policy ACCEPT)状态,如不是,执行iptables -P FORWARD ACCEPT命令
相关文章:

K8s 安装部署-Master和Minion(Node)
K8s 安装部署-Master和Minion(Node) 操作系统版本:CentOS 7.4 Master :172.20.26.167 Minion-1:172.20.26.198 Minion-2:172.20.26.210(后增加节点) ETCD:172.20.27.218 先安装部署ETCD y…...

从零学习Linux操作系统 第二十部分 mariadb数据库的管理
一、对于数据库的基本介绍 1.什么是数据库 数据库就是个高级的表格软件 2.常见数据库 Mysql Oracle mongodb db2 sqlite sqlserver … 3.Mysql (SUN -----> Oracle) 4.mariadb (Mysql的一种) 数据库中的常用名词 1.字段 :表格中的表头 2.表 &…...

数据脱敏和数据加密有什么区别
数据脱敏:主要是为了兼顾数据安全与数据使用,采用专业的数据脱敏算法。 数据加密:通过对数据进行编码来保护数据,获取实际值的唯一方法是使用解密密钥解码数据。 数据加密是可逆的,数据脱敏是不可逆的。 处理方法不同 保护内容…...
主流排序算法
冒泡排序(Bubble Sort): 基本思想:通过比较相邻元素的大小,不断交换相邻元素的位置,使得较大的元素逐渐“浮”到数组的最后。时间复杂度:O(n^2)。 选择排序(Selection Sort…...

MySql的使用方法
一.什么是MySql MySql是一种数据库管理系统,是用来存储数据的,可以有效的管理数据,数据库的存储介质为硬盘和内存。 和文件相比,它具有以下优点: 文件存储数据是不安全的,且不方便数据的查找和管理…...

C#,数据检索算法之三元搜索(Ternary Search)的源代码
数据检索算法是指从数据集合(数组、表、哈希表等)中检索指定的数据项。 数据检索算法是所有算法的基础算法之一。 本文发布 三元搜索(Ternary Search)的源代码。 1 文本格式 using System; namespace Legalsoft.Truffer.Algo…...
windbg:常用指令
windbg 调试 参考文档 1、viewing-and-editing-global-variables-in-windbg WinDBG 常用调试命令 加载符号 .sympath // 查看当前符号查找路径 .sympath c:\symbols // 将符号查找路径设为:c:\symbols .sympath c:\symbols // 将c:\symbols添加…...

23. 集合类
集合 1. 概述2. 分类2.1 单列集合(Collection)2.2 双列集合(Map) 单列集合 Collection、List、Set、ArrayList、LinkedList’、Vector、HashSet、TreeSet、LinkedHashSet双列集合 Map、HashTable、HashMap、TreeMap、Properties、…...
OpenAI平台:引领人工智能的创新与应用
在当今迅速发展的技术世界中,OpenAI已成为人工智能(AI)研究和应用的先驱。作为一个致力于确保人工智能的安全和广泛受益的组织,OpenAI通过其平台提供了一系列强大的工具和API,这些工具和API正在重塑我们与技术的互动方…...
redis原理(五)Lua语言
一、介绍: 1、背景: 在 Redis 的 2.6 以上版本中,除了可以使用命令外,还可以使用 Lua 语言操作 Redis。 Redis 命令的计算能力并不算很强大,而使用 Lua 语言则在很大程度上弥补了 Redis 的这个不足。 2、特点&#…...

SOHO外贸怎么建网站?做海洋建站的步骤?
SOHO外贸如何做跨境独立站?搭建外贸自建站的策略? 一位成功的SOHO外贸从业者不仅需要精湛的贸易技能,还需要一个优质的网站来展示产品、与客户互动,并建立强大的在线品牌形象。海洋建站将探讨在SOHO外贸领域如何建立一个成功的网…...

[论文阅读] |RAG评估_Retrieval-Augmented Generation Benchmark
写在前面 检索增强能够有效缓解大模型存在幻觉和知识时效性不足的问题,RAG通常包括文本切分、向量化入库、检索召回和答案生成等基本步骤。近期组里正在探索如何对RAG完整链路进行评估,辅助阶段性优化工作。上周先对评估综述进行了初步的扫描࿰…...

【Linux】动态库和静态库——动态库和静态库的打包和使用、gcc编译、拷贝到系统默认的路径、建立软连接
文章目录 动态库和静态库1.静态库和动态库的介绍2.静态库的打包和使用2.1生成静态库2.2使用静态库的三种方式2.2.1gcc编译2.2.2拷贝到系统默认的路径2.2.3建立软连接 3.动态库的打包和使用3.1生成动态库3.2使用动态库3.3解决加载不到动态库的方法 动态库和静态库 1.静态库和动…...

【Redis】Redis有哪些适合的场景
🍎个人博客:个人主页 🏆个人专栏:Redis ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 (1)会话缓存(Session Cache) (2)全页缓存(FPC…...

uniapp上传音频文件到服务器
视频教程地址: 【uniapp录音上传组件,将录音上传到django服务器】 https://www.bilibili.com/video/BV1wi4y1p7FL/?share_sourcecopy_web&vd_sourcee66c0e33402a09ca7ae1f0ed3d5ecf7c uniapp 录制音频文件上传到django服务器保存到服务器 …...
C#-正则表达式
1.C#功能点: 验证格式:通过正则表达式,我们可以检查一个字符串是否符合特定的格式要求,例如验证邮箱、电话号码、身份证号码等。 查找和提取:我们可以使用正则表达式来查找字符串中符合特定模式的部分,并将…...

【word】论文、报告:①插入图表题注,交叉引用②快速插入图表目录③删改后一键更新
【word】①插入图表题注,②删改后一键更新 写在最前面插入题注交叉引用修改插入题注的文字格式快速插入图表目录 插入题注后有删改,实现编号一键更新 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你…...
Spring Security 的TokenStore三种实现方式
博主介绍:✌专注于前后端领域开发的优质创作者、秉着互联网精神开源贡献精神,答疑解惑、坚持优质作品共享。本人是掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战,深受全网粉丝喜爱与支持✌有需要可以联系作者我哦&…...
微信小程序 图片自适应高度 宽度 完美适配原生或者uniapp
-- - - - 查了一下百度看到网上图片高度自适应的解决方案 基本是靠JS获取图片的宽度进行按比例计算得出图片高度。 不是很符合我的需求/ 于是我脑瓜子一转 想到一种新的解决方案 不用JS计算也能完美解决。 我写了一个组件,直接导入可以使用。 - - - 1.新…...
Go语言基础之反射
1.变量的内在机制 Go语言中的变量是分为两部分的: 类型信息:预先定义好的元信息。值信息:程序运行过程中可动态变化的。 2.反射介绍 反射是指在程序运行期间对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址ÿ…...

SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...
2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案
一、延迟敏感行业面临的DDoS攻击新挑战 2025年,金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征: AI驱动的自适应攻击:攻击流量模拟真实用户行为,差异率低至0.5%,传统规则引…...

MySQL体系架构解析(三):MySQL目录与启动配置全解析
MySQL中的目录和文件 bin目录 在 MySQL 的安装目录下有一个特别重要的 bin 目录,这个目录下存放着许多可执行文件。与其他系统的可执行文件类似,这些可执行文件都是与服务器和客户端程序相关的。 启动MySQL服务器程序 在 UNIX 系统中,用…...