当前位置: 首页 > news >正文

数据库内核研发学习之路(一)

已经上了几天班了,开始做一些总结性的工作。

数据库内核研发首当其中的便是环境配置,今天先介绍一下虚拟机之类的环境搭建,在之前已经写过一篇关于VMware搭建虚拟机的博客了,有兴趣可以去看看,这里我再总结一下使用VirtualBox搭建CentOS7.9,并且配置网络的过程,简单易上手,搞起!

一、虚拟机安装和网络配置

1、Virtual Box软件

这个安装包自己找找哈,我就懒得给了,如果实在想要,留言我!

然后就是开始安装嘛,这里提一嘴,有点小坑,直接安装Virtual Box可能会报错,第一个大家安装软件肯定都不想往c盘安装,但是这里如果你选择的是7.14-7.16版本的,那就会面临你选择安装地址不在c盘的时候不允许你安装,具体什么原因就是官方的限制哈,如果还是想装在其他盘的就降低版本安装7.14以下的版本,如果你非要就这个版本欸,那也有解决的办法,官方文档也有说明,或者你直接看这个博客:

解决安装VirtualBox高版本不能自定义安装D盘问题 Invalid installation directory_让世界更美好的技术博客_51CTO博客

第二个就是,在安装的时候可能会报错这样的问题:

这个你要么就按提示去安装一下vs2019,不想安装也有办法,那就是去下载一个redistributable包,这个包在官方也有下载的,速度还可以,这里给链接,记得点赞!

https://download.visualstudio.microsoft.com/download/pr/8b92f460-7e03-4c75-a139-e264a770758d/26C2C72FBA6438F5E29AF8EBC4826A1E424581B3C446F8C735361F1DB7BEFF72/VC_redist.x64.exe

 然后基本上就没有大问题了,至少我就遇到这两个问题,然后就是安装,一直下一步就行。

2、安装虚拟机CentOS7

这个也是先去把iso包下载下来,太大了就不放链接了,想要的话发在评论,然后安装的流程基本上没什么问题,都比较顺畅,详情看这个博主大大的博客就行了,我就不重复造轮子了。

VirtualBox安装CentOS 7教程(超详细)_virtualbox安装centos7-CSDN博客

需要注意的一点就是,在最后安装gnome桌面的时候,这边建议是不选择安装的,因为现场一般来说是不会在桌面上进行开发的,所以多半就只是消耗资源而已,当然,你要是想安装也是可以的,然后资源的话大概内存给个4-8GB就差不多,磁盘尽量给多一点,省的到时候扩容挂载磁盘麻烦。 

3、配置网络

然后就是比较重要的配置网络的步骤了,网上一大堆博客我当时配置的时候基本上是没整对,我自己的配置方法仅作为大家参考。

首先就是先设置virtual Box的网络配置。

然后就是设置hsot-only网络,图中的192.168.56.100就是网关,然后网卡的ip地址是可以取192.168.56.101到192.168.56.254之间,因为这里是dbcp动态取的,所以我们就不需要设置了,一般来说就是直接取最低的101这个了。

除了这张网卡之外,我这里建议再新建一张网卡,两张网卡,一张链接外网,一张和本地物理机链接,这样比较好设置。

 

点击这个创建就可以直接新建一张nat网卡,设置只需要改一下端口转发即可 。

然后设置完virtual Box之后配置虚拟机的网络,首先将网卡一设置为host-only网络,然后就是将网卡二打开,并设置为NAT网络,注意不是网络地址转换NAT网络。

 然后其他的基本上和前面写的博客那里一样,然后第一次进来大致的界面就是这样子,我们使用ip a命令查看,发现我们两张网卡都没有生效。(每个人的情况可能不一样哈,这里看enp0s3和enp0s8都没有ip挂载在上面)

然后使用nmcli命令将两张网卡激活,再查看ip如下:

这时再ping外网就发现已经成功了:

 接下来就是检测window端能否连接上服务器端了:

可以发现结果是ok的,可以ping通。

到此网络配置就结束了,如果有什么疑问欢迎评论区或者私聊。

4、使用ssh工具连接虚拟机

弄完了我们会发现虚拟机的那个黑框框既不好看并且每次还得切换鼠标出来,太麻烦了,所以我们接下来要介绍的就是使用win端的ssh工具连接虚拟机并登录。

ssh工具的话使用常见的就ok,例如xshell,mobaxterm等,这些都是个人免费,但是商业收费的产品,所以一般来说在公司很少用到这种,这里推荐大家直接使用win的自带的工具,即Windows terminal工具,具体如何安装下载是真的很简单,我这里就不做赘述。

Windows终端(windows terminal)从下载到运行-CSDN博客

 然后你也可以配置一下环境变量,之后就可以直接使用win+r输入wt即可打开该工具。

前面的准备好了,接下来再连接之前我们先对虚拟机设置一下,首先便是关闭防火墙以及禁用防火墙开机自启,命令如下:

systemctl stop firewalld //关闭防火墙
systemctl disable firewalld //关闭防火墙开机自启

其次便是设置一下虚拟机允许root远程登陆,修改的文件位置如下:

vi /etc/ssh/sshd_config//找到PermitRootLogin这一项,将其前面的#注释去掉。然后重启sshd服务systemctl restart sshd

然后我们再启动Windows Terminal,使用ssh命令连接虚拟机如下:

 5、虚拟机换源

 有经验的同学肯定知道我们安装好虚拟机之后下载东西会比较慢,甚至有的时候还经常下载失败,这其实是因为虚拟机默认的下载源是国外的镜像,所以我们为了加快下载速度就需要我们换源,这一步骤也很简单。同样的这一类型的文章也有很多了,我就不重复造轮子了,大家可以参考这个博主的文章:

CentOS7将yum源更换为国内源保姆级教程【建议收藏】_centos7 国内源-CSDN博客

相关文章:

数据库内核研发学习之路(一)

已经上了几天班了,开始做一些总结性的工作。 数据库内核研发首当其中的便是环境配置,今天先介绍一下虚拟机之类的环境搭建,在之前已经写过一篇关于VMware搭建虚拟机的博客了,有兴趣可以去看看,这里我再总结一下使用Vi…...

LSTM:深度学习中的时间序列处理大师

LSTM:深度学习中的时间序列处理大师 引言 在深度学习领域,处理时间序列数据是一项极具挑战性的任务。时间序列数据广泛存在于金融、医疗、气象、自然语言处理等多个领域,这些数据不仅具有时间依赖性,还常常伴随着复杂的长期依赖…...

T113-i系统启动速度优化方案

背景: 硬件:T113-i + emmc 软件:uboot2018 + linux5.4 + QT应用 分支:longan 问题: 全志T113-i的官方系统软件编译出的固件,开机启动时间10多秒,启动时间太长,远远超过行业内linux系统的开机速度,需要进一步优化。 T113-i 优化后启动速度实测数据 启动阶段启动时间(…...

ArcGis将同一图层的多个面要素合并为一个面要素

这里写自定义目录标题 1.加载面要素的shp数据 2.点击菜单栏的地理处理–融合,如下所示: 3.将shp面要素输入,并设置输出,点击确定即可合并。合并后的属性表就只有一个数据了。...

微软Win11 24H2七月更新补丁KB5040435发布!附下载

系统之家于7月10日发出最新报道,微软为Win11用户发布了24H2版本七月的最新更新补丁KB5040435。用户升级系统后,会发现版本号升至 26100.1150。此次更新针对远程身份验证拨入用户服务(RADIUS)协议与 MD5冲突等问题进行修复。接下来跟随小编看看此次更新的…...

iOS 开发中不常见的专业术语

乐此不疲地把简单的问题复杂化,并把这种XX行为叫作专业 APM 在 iOS 开发中,APM 代表 Application Performance Management(应用性能管理)。APM 是一套监控和管理应用程序性能的工具和技术,旨在确保应用程序运行平稳、…...

【中项第三版】系统集成项目管理工程师 | 第 4 章 信息系统架构④ | 4.7

前言 第4章对应的内容选择题和案例分析都会进行考查,这一章节属于技术相关的内容,学习要以教材为准。本章分值预计在4-5分。 目录 4.7 安全架构 4.7.1 安全威胁 4.7.2 定义与范围 4.7.3 整体架构设计 4.7.4 网络安全架构设计 4.7.5 数据库系统安…...

Time to say GoodBye

北湖的繁华 北湖的繁华 北湖的繁华 终究 终究 终究 还是不属于我了 还是不属于我了 还是不属于我了 永远铭记 6 月 26 日 永远铭记6月26日 永远铭记6月26日 在这天下午 , 一个眼镜男夺走了我的资格 在这天下午,一个眼镜男夺走了我的资格 在这天下午,一个眼镜男夺走了我的资格 永…...

C语言之指针的奥秘(二)

一、数组名的理解 int arr[10]{1,2,3,4,5,6,7,8,9,10}; int *p&arr[0]; 这里使用 &arr[0] 的⽅式拿到了数组第⼀个元素的地址,但是其实数组名本来就是地址,而且是数组首元素的地址。如下: 我们发现数组名和数组⾸元素的地址打印出…...

嵌入式linux系统内核启动过程分享

内核的生成步骤可以概括如下: ① 先生成 vmlinux,这是一个elf可执行文件。② 然后 objcopy 成 arch/i386/boot/compressed/vmlinux.bin,去掉了原 elf 文件中一些无用的section等信息。③ gzip 后压缩为 arch/i386/boot/compressed/vmlinux.bin.gz。④ 把压缩文件作为数据段…...

RK3568笔记三十五:LED驱动开发测试

若该文为原创文章,转载请注明原文出处。 字符设备驱动程序的基本框架,主要是如何申请及释放设备号、添加以及注销设备,初始化、添加与删除 cdev 结构体,并通过 cdev_init 函数建立 cdev 和 file_operations 之间的关联&#xff0c…...

pnpm 如何安装指定版本

要安装特定版本的pnpm,可以使用npm命令来全局安装特定版本的pnpm,例如: npm install -g pnpm2.0.0在上面的命令中,使用了2.0.0来指定安装2.0.0版本的pnpm。您可以将2.0.0替换为您需要安装的版本号。 如果您使用的是yarn&#xf…...

LeetCode 240 搜索二维矩阵||

1.题目要求: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。 每列的元素从上到下升序排列。实列: 2.各位大佬们,大家好,此题我用的方法是一行一行的找&…...

万界星空科技MES系统:食品加工安全的实时监控与智能管理

万界星空科技MES系统通过集成多种技术和功能,能够实时监控食品加工过程中各环节的安全风险。以下是对该系统如何实现实时监控的详细分析: 一、集成传感器和数据分析技术 万界星空科技MES系统利用集成的传感器和数据分析技术,实时监控生产过程…...

【学习笔记】4、组合逻辑电路(下)

接前文《【学习笔记】4、组合逻辑电路(上)》 4.4.5 算术运算电路 1. 半加器和全加器 半加器和全加器是算术运算电路中的基本单元。半加器和全加器是1位相加的组合逻辑电路。 (1)半加器 半加器:只考虑两个加数本身,不考虑低位进…...

使机器人在执行任务倒快递

这段代码是用来控制机器人在不同模式下的行为,具体是处理 residenceright 和 residenceleft 两种模式下的过渡过程。代码中使用了一个 mythread 结构体,该结构体包含了机器人的当前模式 (mode) 和过渡过程的阶段 (residenceTransientProcess)。以下是对这…...

谈谈软件交互设计

谈谈软件交互设计 交互设计的由来 交互设计(Interaction Design)这一概念,最初是由IDEO创始人之一Bill.Moggridge(莫格里奇)1984年在一次会议上提出。他设计了世界上第一台笔记本电脑Compass,并写作出版了在交互设计领域影响深远的《Designing Interactions》一书,被称…...

npm install报错:淘宝镜像证书过期

npm install报错:淘宝镜像证书过期 近期使用npm淘宝镜像新建项目或依赖时出现报错: npm ERR! request to https://registry.npm.taobao.org/xxx failed, reason: certificate has expired 错误原因: 早在 2021 年,淘宝就发文称…...

各种Attention|即插即用|适用于YoloV5、V7、V8、V9、V10(一)

摘要 本文总结了各种注意力,即插即用,方便大家将注意力加到自己的论文中。 SE import torch from torch import nn class SEAttention(nn.Module): """ SENet(Squeeze-and-Excitation Networks)中的注意力…...

语言模型演进:从NLP到LLM的跨越之旅

在人工智能的浩瀚宇宙中,自然语言处理(NLP)一直是一个充满挑战和机遇的领域。随着技术的发展,我们见证了从传统规则到统计机器学习,再到深度学习和预训练模型的演进。如今,我们站在了大型语言模型&#xff…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

OpenLayers 分屏对比(地图联动)

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例

目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...

怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)

+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...