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

使用MySQL APT源在Linux上安装MySQL

全新安装MySQL的步骤

以下说明假定您的系统上尚未安装任何版本的MySQL(无论是由Oracle还是其他方分发)

添加MySQL的Apt源。

将MySQL的APT存储库添加到系统的软件存储库列表中。

1、转到MySQL APT存储库的下载页面MySQL :: Download MySQL APT Repository。

2、选择并下载Linux版本的发行包。虽然这不是每次更新都需要的,但它确实会更新MySQL存储库信息以包含当前信息,其中包括添加新的LTS系列。

3、使用以下命令安装下载的发布包,将version-specific-package-name替换为下载包的名称(如果您不在包所在的文件夹中运行该命令,则前面是其路径):

$> sudo dpkg -i /PATH/version-specific-package-name.deb

例如,对于版本w.x.y-z的包,命令是:

$> sudo dpkg -i mysql-apt-config_w.x.y-z_all.deb

      请注意,相同的软件包适用于所有受支持的Debian和Ubuntu平台。

4、在安装软件包的过程中,系统会要求您选择要安装的MySQL服务器和其他组件(例如MySQLWorkbench)的版本。如果您不确定选择哪个版本,请不要更改为您选择的默认选项。如果您不想安装特定组件,也可以选择无。在对所有组件进行选择后,选择确定以完成发布软件包的配置和安装。

创新版以MySQL8.1开头,在组件名称中包含“-innovation-”。您可以随时更改以后版本的选择

5、使用以下命令从MySQL APT存储库更新包信息(此步骤是强制性的):

$> sudo apt-get update
您也可以手动添加和配置MySQLAPT存储库

一旦在您的系统上启用MySQL APT存储库,您将无法再从平台的本机软件存储库安装任何MySQL包,直到MySQLAPT存储库被禁用。

  一旦在您的系统上启用MySQL APT存储库,通过apt-get升级命令进行的任何系统范围升级将自动升级您系统上的MySQL包,并替换您从Linux发行版的软件存储库安装的任何本机MySQL包,如果APT从MySQL APT存储库中找到它们的替代品。

选择主要发布版本

默认情况下,MySQL服务器和其他所需组件的所有安装和升级都来自您在安装配置包时选择的主要版本的发布系列。但是,您可以通过重新配置已安装的配置包随时切换到另一个受支持的主要发布系列。使用以下命令:

$> sudo dpkg-reconfigure mysql-apt-config

然后一个对话框会要求您选择所需的主要发布版本。做出选择并选择确定。返回命令提示符后,使用以下命令从MySQLAPT存储库更新包信息:

$> sudo apt-get update

下次使用apt-get install命令时,将安装所选系列中的最新版本。

您可以使用相同的方法更改要使用MySQLAPT存储库安装的任何其他MySQL组件的版本。

使用APT安装MySQL

通过以下命令安装MySQL:

$> sudo apt-get install mysql-server

这将安装MySQL服务器的包,以及客户端和数据库公共文件的包。在安装过程中,系统会要求您为MySQL安装的root用户提供密码。请确保记住您设置的root密码。

启动和停止MySQL服务器

MySQL服务器安装后自动启动,您可以使用以下命令检查MySQL服务器的状态:

$> systemctl status mysql

如果操作系统启用了systemd,则应使用标准systemctl(或参数反转的service)命令(例如stop、start、status和restart)来管理MySQL服务器服务。mysql服务默认启用,并在系统重新启动时启动。

一些依赖于本机MySQL包的第三方本机存储库包可能无法与MySQLAPT存储库包一起使用,不应与它们一起使用;其中包括akonadi-backend-mysql、handlersocket-mysql-5.5和zoneminder。

使用APT安装其他MySQL产品和组件

您可以使用APT从MySQL APT存储库安装MySQL的各个组件。假设您已经在系统的存储库列表中拥有MySQL的APT存储库,首先,使用以下命令从MySQL APT存储库获取最新的包信息:

$> sudo apt-get update

使用以下命令安装您选择的任何软件包,将package-name替换为要安装的软件包名称:

$> sudo apt-get install package-name

 例如,要安装MySQLWorkbench:

$> sudo apt-get install mysql-workbench-community

要安装共享客户端库:

$> sudo apt-get install libmysqlclient21

使用MySQLAPT存储库从源代码安装MySQL

此特征仅在64位系统上受支持。您可以下载MySQL源码并使用MySQLAPT存储库构建它:

1、将MySQL APT存储库添加到系统的存储库列表中,然后选择所需的主要版本系列

2、使用以下命令从MySQLAPT存储库更新包信息(此步骤是强制性的):

$> sudo apt-get update
 

3、安装构建过程所依赖的包:

$> sudo apt-get build-dep mysql-server
 

4、下载MySQL主要组件的源码,然后构建它们(在您希望下载的文件和构建所在的文件夹中运行此命令)安装各种MySQL组件的deb包被创建:

$> apt-get source -b mysql-server

5、为您需要的MySQL组件选择deb包并使用以下命令安装它们:

$> sudo dpkg -i package-name.deb

请注意,MySQL包之间存在依赖关系。对于MySQL服务器的基本安装,请按照以下步骤安装数据库公共文件包、客户端包、客户端元包、服务器包和服务器元包(按顺序):

a、使用以下命令预配置MySQL服务器包:

$> sudo dpkg-preconfigure mysql-community-server_version-and-platform-specific-part.deb
系统会要求您为MySQL安装提供root用户的密码

b、使用单个命令安装所需的包:

$> sudo dpkg -i mysql-{common,community-client,client,community-server,server}_*.deb
 

c、如果dpkg警告您未满足的依赖项,您可以使用apt-get修复它们:

sudo apt-get -f install
 

以下是文件安装在系统上的位置:

  • 所有配置文件(如my.cnf)都在/etc/mysql
  • 所有二进制文件、库、头文件等都在/usr/bin/usr/sbin

  • 数据目录在/var/lib/mysql

使用MySQL APT存储库升级MySQL

以下说明假定MySQL已使用MySQLAPT存储库安装在您的系统上,在升级之前备份数据库尤其重要

使用MySQLAPT存储库为MySQL安装执行就地升级(即替换旧版本,然后使用旧数据文件运行新版本),方法如下:

1、确保系统的存储库列表中已经有MySQL的APT存储库

2、通过运行以下命令,确保您在MySQLAPT存储库中拥有最新的包信息:

$> sudo apt-get update
 

3、请注意,默认情况下,MySQL APT存储库将MySQL更新到您在向系统添加MySQLAPT存储库时选择的发布系列。如果要升级到另一个发布系列,请按照选择主要发布版本中给出的步骤进行选择。

一般来说,要从一个发布系列升级到另一个发布系列,请转到下一个系列,而不是跳过一个系列。例如,如果您当前运行MySQL5.7并希望升级到更新的系列,请先升级到8.4MySQL。MySQLAPT存储库不支持MySQL就地降级。

4、通过以下命令升级MySQL:

$> sudo apt-get install mysql-server

如果有更新版本,MySQL服务器、客户端和数据库通用文件将升级。要升级任何其他MySQL包,请使用相同的apt-get install命令并提供要升级的包的名称:

$> sudo apt-get install package-name

要查看从MySQLAPT存储库安装的软件包的名称,请使用以下命令:

$> dpkg -l | grep mysql | grep ii

如果您使用apt-get升级执行系统范围的升级,则只有MySQL库和开发包会升级为较新的版本(如果可用)。要升级其他组件,包括服务器、客户端、测试套件等,请使用apt-get install命令。

5、MySQL服务器总是在APT更新后重新启动。

使用MySQLAPT存储库替换MySQL的本机发布

MySQL的变体和分支由不同方通过自己的软件存储库或下载站点分发。只需几个步骤,您就可以将从Linux平台软件存储库安装的原生MySQL分布替换为MySQLAPT存储库中的分布。

一些依赖于本机MySQL包的第三方本机存储库包可能无法与MySQLAPT存储库包一起使用,不应与它们一起使用;其中包括akonadi-backend-mysql、handlersocket-mysql-5.5和zoneminder。

1、备份您的数据库

为避免数据丢失,请在尝试使用MySQLAPT存储库替换MySQL安装之前始终备份数据库。

2、添加MySQL APT存储库并选择发布系列

将MySQLAPT存储库添加到系统的存储库列表中,并选择所需的发布系列。

3、用APT更新替换本机发布

按照设计,当您对MySQL包执行升级时,MySQLAPT存储库会替换您的本机MySQL分布。要执行升级,请按照使用MySQLAPT存储库升级MySQL的步骤4中给出的相同说明进行操作。

一旦使用MySQLAPT存储库替换了MySQL的本机分布,使用apt-get清除、apt-get删除--purge或dpkg-P命令从本机存储库中清除旧的MySQL包可能会以各种方式影响新安装的MySQL服务器。因此,不要从本机存储库包中清除旧的MySQL包。

替换通过Direct deb包下载安装的MySQL服务器

deb包可以从MySQL开发人员专区的MySQL下载页面或MySQLAPT存储库下载。来自两个来源的deb包不同,它们以不同的方式安装和配置MySQL。

如果您已经使用MySQLDeveloper Zone的deb包安装了MySQL,并且现在想要使用MySQLAPT存储库中的包替换安装,请按照以下步骤操作:

1、备份数据库

2、按照前面给出的步骤添加MySQL的APT存储库

3、通过运行以下命令删除MySQL的旧安装:

$> sudo dpkg -P mysql
 

4、从MySQLAPT存储库安装MySQL:

$> sudo apt-get install mysql-server
 

5、如果需要,请在新的MySQL安装中恢复数据。

用APT去除MySQL

要卸载MySQL服务器和使用MySQLAPT存储库安装的相关组件,首先,使用以下命令删除MySQL服务器:

$> sudo apt-get remove mysql-server

然后,删除与MySQL服务器一起自动安装的任何其他软件:

$> sudo apt-get autoremove

要卸载其他组件,请使用以下命令,将package-name替换为要删除的组件的包名称:

$> sudo apt-get remove package-name

要查看从MySQLAPT存储库安装的软件包列表,请使用以下命令:

$> dpkg -l | grep mysql | grep ii

升级共享客户端库的特别说明

您可以通过以下命令从MySQLAPT存储库安装共享客户端库

$> sudo apt-get install libmysqlclient21

如果您已经从Linux平台的软件存储库安装了共享客户端库,则MySQLAPT存储库可以使用相同的命令使用自己的包对其进行更新

使用APT存储库更新MySQL后,使用旧版本共享客户端库编译的应用程序应继续工作。


如果您重新编译应用程序并将它们与更新的库动态链接:与新版本的共享库一样,使用更新的、更新的共享库编译的任何应用程序都可能需要在部署应用程序的系统上使用这些更新的库。如果这些库不到位,需要共享库的应用程序可能会失败。因此,建议将MySQL的共享库包部署在这些系统上。您可以通过将MySQLAPT存储库添加到系统中来做到这一点(请参阅添加MySQLApt存储库)并使用本节开头给出的命令安装最新的共享客户端库。

使用APT存储库安装MySQLNDB集群

MySQLAPT存储库支持在Debian和Ubuntu系统上安装MySQLNDB集群。如果您的系统上已经安装了MySQL服务器或MySQLNDB集群,请确保它已停止,并且在继续之前备份了数据和配置文件。

1、为MySQL NDB集群添加MySQLAPT存储库

将MySQLAPT存储库添加到系统的存储库列表中。在配置包的安装过程中,当您被问及要配置哪个MySQL产品时,选择“MySQL服务器和集群”;当被问及您希望接收哪个版本时,选择“mysql-cluster-x.y.”返回命令提示符后,转到下面的步骤2。

如果您的系统上已经安装了配置包,请运行以下命令确保它是最新的:

$> sudo apt-get install mysql-apt-config

选择MySQLNDB集群进行安装。当您被问及要配置哪个MySQL产品时,选择“MySQL服务器&集群”;当被问及希望接收哪个版本时,选择“mysql-cluster-x.y.”返回命令提示符后,使用以下命令从MySQLAPT存储库中更新包信息:

$> sudo apt-get update

2、安装MySQLNDB集群

要最小限度地安装MySQLNDB集群,请执行以下步骤:

a、为SQL节点安装组件:

$> sudo apt-get install mysql-cluster-community-server

系统将要求您为SQL节点的root用户提供密码

b、安装管理节点的可执行文件:

$> sudo apt-get install mysql-cluster-community-management-server

c、安装数据节点的可执行文件:

$> sudo apt-get install mysql-cluster-community-data-node
 

3、配置和启动MySQLNDB集群 

请参阅第25.3.3节,“NDB集群的初始配置”了解如何配置MySQLNDB集群和第25.3.4节,“NDB集群的初始启动”了解如何首次启动它。按照这些说明进行操作时,请根据以下有关NDB集群安装的SQL节点的详细信息进行调整:

a、所有配置文件(如my.cnf)都在/etc/mysql

b、所有二进制文件、库、头文件等都在/usr/bin/usr/sbin

c、数据目录是/var/lib/mysql

安装其他MySQLNDB集群产品和组件

您可以使用APT从MySQLAPT存储库安装MySQLNDB集群的单个组件和附加产品。

已知问题:目前,在安装测试套件包(mysql-cluster-community-test)时,并不是所有运行MySQLNDB集群测试套件所需的组件都会自动安装。在运行测试套件之前,请使用apt-get install安装以下软件包:

  • mysql-cluster-community-auto-installer

    mysql-cluster-community-auto-installer

  • mysql-cluster-community-management-server

    mysql-cluster-community-management-server

  • mysql-cluster-community-data-node

    mysql-cluster-community-data-node

  • mysql-cluster-community-memcached

    mysql-cluster-community-memcached

  • mysql-cluster-community-java

    mysql-cluster-community-java

  • ndbclient-dev

    ndbclient-dev

附录A:手动添加和配置MySQLAPT存储库

以下是手动将MySQLAPT存储库添加到系统软件存储库列表并对其进行配置的步骤,而无需使用MySQL提供的发布包:

1、下载MySQLGPG公钥,并将其保存到文件中,而不添加任何空格或特殊字符。然后,使用以下命令将密钥添加到系统的GPG密钥环:

$> sudo apt-key add path/to/signature-file

2、或者,您可以使用apt-key实用程序直接将GPG密钥下载到您的APT密钥环:

$> sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A8D3785C
  • MySQL和更高版本包的密钥ID为A8D3785C,如上所示。对于早期MySQL版本,密钥ID为3A79BD29。使用不正确的密钥可能会导致密钥验证错误。

3、创建一个名为/etc/apt/sources.list.d/mysql.list的文件,并将以下格式的存储库条目放入其中(这不是要执行的命令):

deb http://repo.mysql.com/apt/{debian|ubuntu}/ {bookworm|jammy} {mysql-tools|mysql-8.4-lts|mysql-8.0}

为您的存储库设置选择相关选项:

  • 根据您的平台选择“debian”或“ubuntu”。

  • 为您的系统版本选择适当的版本名称;示例包括“书虫”(适用于Debian 12)和“jammy”(适用于Ubuntu 22.04)。

  • 要安装MySQL服务器、客户端和数据库常用文件,请根据您想要的MySQL系列选择“mysql-8.4”、“mysql-8.0”或“mysql-创新”。要稍后切换到另一个发布系列,请返回并使用您的新选择调整条目。这还包括访问MySQL路由器和MySQLShell等工具。如果您的系统上已经安装了MySQL版本,请不要在此步骤中选择较低版本,否则可能会导致不受支持的降级操作。
  • 包括“mysql-tools”以安装连接器。例如,在Ubuntu 22.04平台上,使用mysql.list文件中的这些行来安装MySQL8.4和MySQLAPT存储库中的最新MySQL连接器:

    deb http://repo.mysql.com/apt/ubuntu/ jammy mysql-8.4 mysql-tools

  • 使用以下命令从MySQLAPT存储库获取最新的包信息:

    $> sudo apt-get update

    您已将系统配置为使用MySQLAPT存储库,现在可以继续使用APT安装MySQL或使用APT安装其他MySQL产品和组件。

相关文章:

使用MySQL APT源在Linux上安装MySQL

全新安装MySQL的步骤 以下说明假定您的系统上尚未安装任何版本的MySQL(无论是由Oracle还是其他方分发) 添加MySQL的Apt源。 将MySQL的APT存储库添加到系统的软件存储库列表中。 1、转到MySQL APT存储库的下载页面MySQL :: Download MySQL APT Reposi…...

redux react-redux @reduxjs/toolkit

redux团队先后推出了redux、react-redux、reduxjs/toolkit,这三个库的api各有不同。本篇文章就来梳理一下当我们需要在项目中集成redux,从直接使用redux,到使用react-redux,再到react-redux和reduxjs/toolkit配合使用,…...

【偏好对齐】通过ORM直接推导出PRM

论文地址:https://arxiv.org/pdf/2412.01981 相关博客 【自然语言处理】【大模型】 ΨPO:一个理解人类偏好学习的统一理论框架 【强化学习】PPO:近端策略优化算法 【偏好对齐】PRM应该奖励单个步骤的正确性吗? 【偏好对齐】通过OR…...

Python与其他编程语言的区别是什么?

Python是一种广泛使用的高级编程语言,以其简洁的语法、强大的库支持和广泛的应用领域而著称。与其他编程语言相比,Python具有许多独特的特点和优势。以下将从多个方面详细探讨Python与其他编程语言的区别,并通过示例进行说明。 一、语法简洁…...

cuda11.6和对应的cudnn(windows)

因为每次不同的torch版本要下对应的cuda,这次刚好在Windows上下好了一个cuda11.6和对应的cudnn,直接放到网盘中,大家有需要对应版本的可以直接下载: 链接:https://pan.quark.cn/s/f153a53830d4 大家自取,c…...

24年无人机行业资讯 | 12.23-12.29

24年无人机行业资讯 | 12.23-12.29 1、 国家发改委新设低空经济司,助力低空经济规范发展2、商务部支持无人机民用国际贸易,强调出口管制与安全并重3、滨州高新区首架无人机成功下线4、 2025第九届世界无人机大会筹备推进会顺利召开5、2024年世界无人机竞…...

uniapp:微信小程序文本长按无法出现复制菜单

一、问题描述 在集成腾讯TUI后,为了能让聊天文本可以复制,对消息组件的样式进行修改,主要是移除下面的user-select属性限制: user-select: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms…...

qml Item详解

1、概述 Item是QML(Qt Modeling Language)的基础元素,所有其他可视化元素都继承自它。它代表了一个可视化的对象,虽然Item对象本身没有可视外观,但它定义了所有可视项之间通用的属性,比如位置、大小、旋转…...

【Java回顾】Day4 反射机制

反射机制 之前学过一部分,笔记在20250103Java包_网络编程.md里,这里在之前的笔记的基础上做一些补充。 反射:得到class对象后反向获取对象的各种信息。 包 Field 类或接口中的字段(成员变量),动态访问和修改类的字段 模板 获取Class 对象 …...

【沉默的羔羊心理学】汉尼拔的“移情”游戏:操纵与理解的艺术,精神分析学视角下的角色互动

终极解读《沉默的羔羊》:弗洛伊德精神分析学视角下的深层剖析 关键词 沉默的羔羊弗洛伊德精神分析学角色心理意识与潜意识性别与身份 弗洛伊德精神分析学简介 弗洛伊德的精神分析学是心理学的一个重要分支,主要关注人类行为背后的无意识动机和冲突。…...

[深度学习] 大模型学习1-大语言模型基础知识

大语言模型(Large Language Model,LLM)是一类基于Transformer架构的深度学习模型,主要用于处理与自然语言相关的各种任务。简单来说,当用户输入文本时,模型会生成相应的回复或结果。它能够完成许多任务&…...

如何解决数据库和缓存不一致的问题

目录 一、Cache-Aside模式(旁路缓存模式) 二、Write-Through模式(写透缓存模式) 三、Write-Behind模式(写回缓存模式) 四、先删除缓存再更新数据库(不推荐,存在风险)…...

剑指Offer|LCR 021. 删除链表的倒数第 N 个结点

LCR 021. 删除链表的倒数第 N 个结点 给定一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1…...

【NX入门篇】

NX入门篇 一、UG NX 由来二、软件如何启动(UG NX 12.0)三、使用步骤四、常用命令 一、UG NX 由来 UG NX由来: 1969 年:UG 的开发始于美国麦道航空公司,基于 C 语言开发实现;1976 年:UG问世&am…...

ubuntu如何禁用 Snap 更新

.禁用 Snap 更新(通过修改 snapd 配置) 打开并编辑 /etc/apt/apt.conf.d/50unattended-upgrades文件。 这个文件控制自动更新的行为。 sudo vim /etc/apt/apt.conf.d/50unattended-upgrades 里面有一行将里面的auto改为false即可禁用更新:…...

Spring AI Alibaba-对话模型(Chat Model)

对话模型(Chat Model)接收一系列消息(Message)作为输入,与模型 LLM 服务进行交互,并接收返回的聊天消息(Chat Message)作为输出。相比于普通的程序输入,模型的输入与输出…...

HTML——79.代码快捷输入方式

!DOCTYPE html> <html><head><meta charset"UTF-8"><title>代码快捷输入方式</title></head><body><!--1.父子关系&#xff1a;--><!--div>p 加Tab键--><div><p></p></div><…...

李宏毅机器学习课程笔记01 | 1.Introduction of Machine/Deep Learning

笔记是在语雀上面做的&#xff0c;粘贴在CSND上可能存在格式错误 机器学习的本质就是借助机器寻找一个转换函数 根据函数的输出类型&#xff0c;可以将机器学习进行分类 regression 回归任务&#xff1a;函数输出时一个数值classification 分类任务&#xff1a;人类设定好选项…...

1、pycharm、python下载与安装

1、去官网下载pycharm 官网&#xff1a;https://www.jetbrains.com/pycharm/download/?sectionwindows 2、在等待期间&#xff0c;去下载python 进入官网地址&#xff1a;https://www.python.org/downloads/windows/ 3、安装pycharm 桌面会出现快捷方式 4、安装python…...

计算机网络复习(学习通作业4、5、6系统答案)

&#x1f4e2;&#x1f4e2;&#x1f4e2;传送门 一、作业4一. 计算题&#xff08;共1题&#xff0c;100分&#xff09; 二、作业5一. 简答题&#xff08;共1题&#xff0c;30分&#xff09;路由器属于那一层的互联设备&#xff1f;路由器结构包含哪两个部分&#xff1f;请解释…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中&#xff0c;如果使用的模块多&#xff0c;一个文件内会有很多代码&#xff0c;不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里&#xff0c;在.h文件里提供外部可调用函数声明&#xff0c;其他.c文…...

leetcode_69.x的平方根

题目如下 &#xff1a; 看到题 &#xff0c;我们最原始的想法就是暴力解决: for(long long i 0;i<INT_MAX;i){if(i*ix){return i;}else if((i*i>x)&&((i-1)*(i-1)<x)){return i-1;}}我们直接开始遍历&#xff0c;我们是整数的平方根&#xff0c;所以我们分两…...

SQL注入篇-sqlmap的配置和使用

在之前的皮卡丘靶场第五期SQL注入的内容中我们谈到了sqlmap&#xff0c;但是由于很多朋友看不了解命令行格式&#xff0c;所以是纯手动获取数据库信息的 接下来我们就用sqlmap来进行皮卡丘靶场的sql注入学习&#xff0c;链接&#xff1a;https://wwhc.lanzoue.com/ifJY32ybh6vc…...

C++ 类基础:封装、继承、多态与多线程模板实现

前言 C 是一门强大的面向对象编程语言&#xff0c;而类&#xff08;Class&#xff09;作为其核心特性之一&#xff0c;是理解和使用 C 的关键。本文将深入探讨 C 类的基本特性&#xff0c;包括封装、继承和多态&#xff0c;同时讨论类中的权限控制&#xff0c;并展示如何使用类…...