MySQL的版本从5.7跳到了8.0有哪些原因?

news2024/9/20 1:13:27

MySQL的版本从5.7跳到了8.0的原因?

  • 一、引言
    • 1.1、MySQL是什么?
    • 1.2、MySQL 5.7和8.0的历史背景
  • 二、MySQL 8.0的新功能
    • 2.1、更好的安全性
    • 2.2、更高的性能
    • 2.3、更好的可扩展性
    • 2.4、JSON支持
  • 三、MySQL 8.0的重要改进
    • 3.1、更严格的数据类型检查
    • 3.2、其他重要的改进和变化
  • 四、为何直接从5.7升级到8.0
    • 4.1、技术差距和功能改进
    • 4.2、推广和使用最新的数据库技术
  • 五、从5.7升级到8.0的注意事项
  • 六、总结
    • 6.1、MySQL 8.0对于数据管理带来的改变
    • 6.2、未来MySQL发展的趋势

一、引言

1.1、MySQL是什么?

MySQL是一种开源的关系型数据库管理系统,它采用标准SQL查询语言进行操作。MySQL可以运行在各种操作系统上,并支持多种编程语言。MySQL被广泛应用于Web应用程序的开发中,如电子商务网站、社交网络和基于云计算的应用等。

MySQL的内部概念包括:

  1. 数据库:MySQL是一个数据库管理系统,可以存储和组织数据,并提供对这些数据进行访问和修改的方法。在MySQL中,数据库由多个表组成。
  2. 表:在MySQL中,表是由行和列组成的二维数据结构,用于存储相关数据。每个表都有一个唯一的名称,并且可以定义不同类型的列,例如整数、字符串、日期等。
  3. 列:在MySQL中,列代表表中的属性或字段,通常具有特定的数据类型,例如整数、字符串、日期等。
  4. 行:在MySQL中,行代表表中的记录或条目,包含各种列的值。每行都有一个唯一的标识符,称为主键。
  5. 主键:主键是唯一标识表中每个行的标识符,它可以用来唯一地标识每个行。主键可以是单个列或多个列的组合。
  6. 索引:索引是一种数据结构,用于加速对表中数据的访问。它可以帮助在表中搜索数据时更快地定位到所需的行。
  7. 视图:视图是与表类似的虚拟表格,它们通过查询从现有表中派生而来。视图允许用户在不修改现有表的情况下查看数据。
  8. 存储过程:存储过程是一组预定义的SQL语句,可以被多次调用。它们允许将复杂的操作封装在一个单独的单元中,并在需要时以相同的方式重复使用。
  9. 事务:事务是数据库操作的单个逻辑单元。如果在事务执行期间出现错误或故障,则所有更改都会回滚到事务开始时的状态。这确保了数据的完整性和一致性。

在这里插入图片描述

1.2、MySQL 5.7和8.0的历史背景

MySQL 5.7是MySQL的一个稳定版本,于2016年发布。这个版本引入了很多新特性和改进,包括更好的性能、可扩展性和安全性。其中一些特性包括:JSON函数支持、InnoDB引擎优化、查询性能提升等等。

MySQL 8.0是MySQL的最新版本,于2018年发布。该版本引入了一系列新特性和改进,包括更好的性能、可扩展性和安全性。其中一些特性包括:支持原生的JSON数据类型、更强的加密功能、优化的SQL执行计划等等。此外,MySQL 8.0还通过支持分析和自动处理数据集合,提高了对大数据和云架构的支持。

MySQL 5.7和8.0都在继续提高MySQL作为开源关系型数据库管理系统的性能、功能和安全性。与此同时,MySQL也在不断适应和应对现代数据操作的需求和挑战。

二、MySQL 8.0的新功能

2.1、更好的安全性

MySQL 8.0拥有更好的安全性,其主要体现在以下方面:

  1. 更强的密码策略:MySQL 8.0 引入了新的密码策略,包括密码过期、强密码选项、密码复杂度检查等。这些功能可以确保用户密码的安全性,减少恶意攻击的风险。
  2. 改进的加密功能:MySQL 8.0 支持 TLS 1.3 加密协议,提供更高级别的安全性和性能。此外,MySQL 8.0 还支持 SHA-256 和 SHA-512 哈希加密算法,提供更好的数据安全性。
  3. 权限管理改进:MySQL 8.0 引入了更细粒度的权限管理,允许管理员更好地控制用户的访问权限。这可以防止未经授权的访问和恶意操作。
  4. 安全审计日志:MySQL 8.0 可以在安全审计日志中记录重要事件,如登录失败、DDL 操作、特权命令执行等,以便管理员监控数据库的安全状况。
  5. 更好的默认配置:MySQL 8.0 默认关闭远程 root 登录、空密码认证和匿名用户等不安全的配置,从而降低了数据库的攻击面。

MySQL 8.0 的安全性得到了大幅提升,可以更好地保护用户的数据和业务。

2.2、更高的性能

MySQL 8.0通过优化查询处理、存储引擎、缓存机制等方面的性能,使得其具有更高的执行效率和更好的扩展性,满足了对高性能数据库的需求。

  1. 改进了查询优化器。MySQL 8.0引入了Cost Model和Join Buffer Optimization等新的优化技术,提高了查询的执行效率。同时还支持更多的索引类型和算法,例如全文索引、Hash索引等。
    2.增强了InnoDB存储引擎。MySQL 8.0使用了新的版本的InnoDB存储引擎,支持了更多的功能,例如多版本并发控制(MVCC)、空间数据类型、在线DDL等。这些改进使得InnoDB在处理大量并发查询时具有更高的性能表现。
  2. 支持更多的并行操作。MySQL 8.0支持更多的并行操作,例如并行复制、并行查询等。这样可以充分利用服务器上的多核处理器,提高系统的并发性能。
  3. 引入了新的缓存机制。MySQL 8.0引入了新的缓存机制,例如Query Cache和InnoDB Buffer Pool等。这些缓存机制可以加速查询的处理速度,减少磁盘I/O和网络传输的开销,提高系统的响应速度。
  4. 增强了大事务处理能力。MySQL 8.0增强了对大事务的处理能力,能够更好地处理大量的并发事务,并且支持了更高的事务并发度,提高系统的吞吐量。

2.3、更好的可扩展性

MySQL 8.0通过增加分区表功能、支持更多的集群方案、引入新的数据类型等方面的改进,使得它具有更好的可扩展性和可用性,能够更好地满足现代应用对高可扩展性数据库的需求。

  1. 增加了分区表功能。MySQL 8.0引入了分区表功能,可以将表数据按照一定的规则划分成多个分区,每个分区可以单独管理和查询。这样可以提高大型表的查询效率,并且能够更好地利用多核处理器和存储设备,提高系统的吞吐量。
  2. 支持更多的集群方案。MySQL 8.0支持更多的集群方案,例如MySQL InnoDB Cluster、MySQL Group Replication等。这些方案可以将多个MySQL实例组成一个集群,提高了系统的可用性和可扩展性。
  3. 引入了新的数据类型。MySQL 8.0引入了新的数据类型,例如JSON、GIS等。这些数据类型可以更好地满足现代应用的需求,例如Web开发、地理信息系统等。
  4. 改进了多线程处理能力。MySQL 8.0通过改进多线程处理能力,以及增强锁机制和事务处理能力等方面的功能,使得它具有更好的并发性能和可扩展性。
  5. 支持更多的分布式存储方案。MySQL 8.0支持更多的分布式存储方案,例如MySQL Fabric、MySQL Router等。这些方案可以将多个MySQL实例组成一个分布式数据库,提高了系统的可扩展性和容错能力。

2.4、JSON支持

MySQL 8.0引入了新的JSON数据类型,并且添加了许多内置函数来支持JSON数据的操作。通过引入新的JSON数据类型和内置函数,以及支持JSON路径表达式、JSON索引和JSON检查约束等特性,使得开发者能够更好地存储、查询和操作JSON数据。

MySQL 8.0支持以下JSON相关特性:

  1. JSON数据类型:MySQL 8.0可以将JSON格式的数据存储在JSON类型的列中,这样就能够更好地存储和查询JSON数据。
  2. JSON函数:MySQL 8.0提供了许多JSON函数,例如JSON_OBJECT和JSON_ARRAY等,这些函数可以用于创建和操作JSON对象和数组。
  3. JSON路径表达式:MySQL 8.0支持JSON路径表达式,这种语法允许开发者使用点号和方括号来访问JSON数据的属性和元素。
  4. JSON索引:MySQL 8.0支持在JSON列上创建索引,这样就可以更快地查询JSON数据。
  5. JSON检查约束:MySQL 8.0还支持在JSON列上添加检查约束,这样可以确保JSON数据符合特定的格式要求。

使用示例:

(1)创建表格:

CREATE TABLE `books` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `author` varchar(255) DEFAULT NULL,
  `details` json DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

(2)插入数据:

INSERT INTO `books` (`title`, `author`, `details`) VALUES ('The Great Gatsby', 'F. Scott Fitzgerald', '{"pages": 180, "publisher": "Scribner", "year": 1925}');
INSERT INTO `books` (`title`, `author`, `details`) VALUES ('To Kill a Mockingbird', 'Harper Lee', '{"pages": 336, "publisher": "J.B. Lippincott & Co.", "year": 1960}');
INSERT INTO `books` (`title`, `author`, `details`) VALUES ('1984', 'George Orwell', '{"pages": 328, "publisher": "Secker & Warburg", "year": 1949}');

(3)查询所有书籍的详情:

SELECT id, title, details FROM books;

(4)查询所有书籍的页数总和:

SELECT SUM(JSON_EXTRACT(details, '$.pages')) AS total_pages FROM books;

(5)查询出版年份为1949年的书籍:

SELECT title, author FROM books WHERE JSON_EXTRACT(details, '$.year') = '1949';

(6)更新某本书的作者信息:

UPDATE books SET details = JSON_SET(details, '$.author', 'Ernest Hemingway') WHERE id = 1;

(7)删除某个键值对:

UPDATE books SET details = JSON_REMOVE(details, '$.publisher') WHERE id = 2;

三、MySQL 8.0的重要改进

3.1、更严格的数据类型检查

MySQL 8.0引入了更严格的数据类型检查,可以通过以下两种方式来实现:

(1)STRICT_TRANS_TABLES 模式。

在 MySQL 8.0 中,STRICT_TRANS_TABLES 模式已成为默认模式之一。在此模式下,MySQL 不会进行隐式转换和截断,而是执行更严格的数据类型检查。如果存在任何不符合规范的数据,则会返回错误。

(2)数据类型检查增强功能。MySQL 8.0 还引入了一些新的数据类型检查增强功能,包括:

  • 禁止使用非字符串值进行字符串操作。
  • 禁止将字符串转换为数字时忽略其非数字字符。
  • 禁止将数字转换为字符串时指定精度和小数位数

这些增强功能可以帮助开发人员编写更健壮的代码,并减少由于数据类型错误引起的潜在问题。

示例:

CREATE TABLE test (id INT, value VARCHAR(10));
INSERT INTO test VALUES (1, '12345');
SELECT * FROM test WHERE value < 100;

在 MySQL 8.0 中,上面的查询会返回以下错误:

Error Code: 1292. Truncated incorrect DOUBLE value: '12345'

这是因为 MySQL 8.0 不允许将字符串值与数字进行比较,并且在严格模式下,它不会进行隐式转换或截断。因此,如果您想将字符串值与数字进行比较,您需要显式地将其转换为数字。例如:

SELECT * FROM test WHERE CAST(value AS SIGNED) < 100;

3.2、其他重要的改进和变化

  1. MySQL 8.0在多方面都有了性能上的改进。其中最为显著的是在读写压力下的性能明显提升,这主要得益于InnoDB存储引擎的高度优化以及新功能如“多线程复制”等。
  2. MySQL 8.0 在安全方面有了很大改进,引入了更严格的密码策略、支持用户管理和审核等功能,并支持加密连接和数据加密。
  3. MySQL 8.0 对JSON格式的支持进行了改进,包括更好的JSON函数、更高效的索引查询以及更好的存储和检索能力。
  4. MySQL 8.0还引入了许多其他新特性,如更好的批量操作、更灵活的自增列、更好的窗口函数、更好的空间数据支持等。

MySQL 8.0带来了很多重要的改进和变化,这些改进和变化都有助于提高MySQL的性能、安全性和可靠性。

四、为何直接从5.7升级到8.0

4.1、技术差距和功能改进

MySQL 8.0在性能、安全性、JSON支持、复制和集群等方面都有很大的改进和扩展,使得它成为更强大、更灵活的数据库管理系统。

  1. 更好的性能:MySQL 8.0比5.7提供更好的性能,包括更快的查询速度和更低的延迟。这得益于对内部数据结构和算法的改进,以及对多核CPU的更好支持。
  2. 更强大的安全性:MySQL 8.0增加了一些新的安全特性,包括密码安全策略、权限管理的增强、支持TLS1.3加密协议等。
  3. 更多的JSON支持:MySQL 8.0增强了对JSON数据类型的支持,并增加了许多针对JSON数据的新函数和操作符。此外,还引入了新的JSON路径表达式语言,使得在JSON文档中查找和修改数据更容易。
  4. 更好的复制和集群功能:MySQL 8.0新增了多个复制和集群相关功能,包括增量备份、自动故障转移、自动sharding等。
  5. 更好的开发者体验:MySQL 8.0增加了一些新的开发者工具和API,包括Python MySQL X DevAPI、MySQL Shell、MySQL Router等,这些工具可以帮助开发者更方便地使用MySQL。

4.2、推广和使用最新的数据库技术

Mysql从5.7升级到8.0是为了推广和使用最新的数据库技术,以提高性能、安全性和可靠性。MySQL 8.0增加了许多新功能和改进,例如更好的JSON支持、更快的查询执行速度、更强大的密码策略和更好的数据复原能力。此外,MySQL 8.0还可以通过使用InnoDB引擎中的新功能来提高数据一致性和可靠性。因此,升级到MySQL 8.0对于那些想要利用最新技术优势的组织和个人来说是必要的。

五、从5.7升级到8.0的注意事项

(1)备份数据。在从5.7升级到8.0的过程中,备份数据是非常重要的一步,以防止数据丢失或损坏;建议在升级之前进行多次备份,以确保有紧急情况下的备份文件。在备份完成后,通过运行一些测试查询来验证备份文件的完整性和准确性。

(2)确认系统要求。检查硬件和软件的兼容性:确保设备符合8.0版本的最低硬件和软件要求。硬件上要求至少 512MB 的内存、至少 1GHz 的 CPU、至少 2GB 的磁盘空间;软件上如果是Java 运行环境(JRE)需要 Java 8 或更高版本支持,如果是C++需要使用 C++ 编译器编译等。

(3)需要进行测试以确保数据和应用程序的兼容性。在升级后,需要监控数据库的性能并及时处理问题。尤其是在高负载和大数据量的情况下,需要注意性能和稳定性的问题。

六、总结

6.1、MySQL 8.0对于数据管理带来的改变

MySQL 8.0对于数据管理带来了很多改变,使得MySQL成为一个更强大、更灵活和更易于使用的数据库管理系统。

  1. MySQL 8.0提供了更好的JSON支持,包括更快的JSON函数和表达式,以及新的JSON数据类型和索引。
  2. MySQL 8.0引入了窗口函数,这些函数可以用来计算分析函数的结果并根据指定的排序规则进行分组。
  3. MySQL 8.0提供了更好的空间数据支持,包括新的空间数据类型和函数,例如ST_Distance_Sphere函数,它可以计算两个点之间的球面距离。
  4. MySQL 8.0提供了更好的安全性,包括更安全的默认配置、更严格的密码策略、更多的SSL/TLS选项等。
  5. MySQL 8.0提供了更好的性能,包括新的索引算法、更好的查询优化器、更好的并发控制等。

6.2、未来MySQL发展的趋势

MySQL是目前最受欢迎的关系型数据库管理系统之一,它在企业和个人项目中广泛使用。

MySQL未来的发展趋势是云化、自动化、渐进式数据处理、更严格的安全性和全球化。

  1. 云化:MySQL将更多地朝向云化方向发展,包括提供更好的云服务、集成云计算平台等。这意味着MySQL将更加注重可伸缩性、高可用性以及安全性。
  2. 自动化:MySQL将更多地朝向自动化方向发展,例如自动扩展、自动备份、自动调优等。这将使MySQL的使用更简单、更高效,同时降低维护成本。
  3. 渐进式数据处理:MySQL将更加注重渐进式数据处理,这意味着MySQL可以处理更大的数据集,并且可以更快地进行查询和分析。
  4. 更严格的安全性:MySQL将更加注重安全性,包括更加严格的密码策略、更多的加密选项、更好的审计功能等。这将使MySQL更加适用于敏感数据的存储和处理。
  5. 全球化:MySQL将更多地朝向全球化方向发展,包括更好的本地化支持、更好的多语言支持等。这将使MySQL在国际市场上更有竞争力。

在这里插入图片描述

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

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

相关文章

第三章 处理机调度

目录 一、调度的概念、层次 2.1 调度的基本概念 2.2 调度的三个层次 2.2.1 高级调度 2.2.2 低级调度 2.2.3 中级调度 2.2.3.1 进程的挂起态 2.2.4 三层调度的联系、对比 二、进程调度的时机、切换与过程、方式 2.1 进程调度的时机 2.2 进程调度的方式 2.2.1 非抢占…

MFC的main函数

-- 我们走得太远&#xff0c;忘掉了来时路。 MFC程序的main在哪里&#xff1f; MFC的main是_tWinMain&#xff08;&#xff09;&#xff0c;有的版本是WinMain&#xff08;&#xff09;&#xff0c;AfxWinMain&#xff08;&#xff09;&#xff0c;总之会有Main字样。 作为C/C…

【Spring】Spring有什么用?Spring核心与设计思想之IOC与DI

文章目录 1 何为 Spring&#xff1f;2 什么是容器&#xff1f;3 理解Spring的 IOC3.1 传统开发的缺陷3.2 基于 IOC 思想的开发3.3 再谈Spring中的 IOC 4 理解Spring中的 DI写在最后 1 何为 Spring&#xff1f; Spring是一个开源的、轻量级的、面向企业级的Java应用框架。它提供…

(秋招)vins中的光流法

vins中的光流法 说到光流法&#xff0c;首先介绍其假设条件&#xff1a; 1.亮度恒定&#xff0c;就是同一点随着时间的变化&#xff0c;其亮度不会发生改变。这是基本光流法的假定&#xff08;所有光流法变种都必须满足&#xff09;&#xff0c;用于得到光流法基本方程。就是…

【CSS3系列】第七章 · 过渡和动画

写在前面 Hello大家好&#xff0c; 我是【麟-小白】&#xff0c;一位软件工程专业的学生&#xff0c;喜好计算机知识。希望大家能够一起学习进步呀&#xff01;本人是一名在读大学生&#xff0c;专业水平有限&#xff0c;如发现错误或不足之处&#xff0c;请多多指正&#xff0…

可视化计算机科学论文库DBLP,高效整理文献,生成领域趋势图、词云图

Github项目链接&#xff1a;https://github.com/yaunsine/getDBLP Http克隆方式&#xff1a;git clone https://github.com/yaunsine/getDBLP.git SSH克隆方式&#xff1a;git clone gitgithub.com:yaunsine/getDBLP.git 作者&#xff1a;yaunsine dblp网站相信大家都不陌生&am…

模拟电路系列文章-ADC驱动电路

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示&#xff1a;这里可以添加技术概要 模数转换器(Analog to Digital Convertor&#xff0c;ADC)将模拟量转变成数字量&#xff0c;是电学测量、控制领域—个极为重要的部件。 一个模拟电压信号&#xff0c;在进入A…

统信UOS系统开发笔记(六):提取在线安装软件后,提取其安装包,部署目标机使用离线软件包方式安装软件

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/131348876 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

数据库底层物理存储层 的管理方案

​专栏内容&#xff1a; postgresql内核源码分析 手写数据库toadb 并发编程 个人主页&#xff1a;我的主页 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 数据库的物理存储层 简介 数据库的数据&#xff0c;在物理介质上…

【二叉树part04】| 110.平衡二叉树、257.二叉树的所以路径、404.左叶子之和

目录 ✿LeetCode110.平衡二叉树❀ ✿LeetCode257.二叉树的所有路径❀ ✿LeetCode404.左叶子之和❀ ✿LeetCode110.平衡二叉树❀ 链接&#xff1a;110.平衡二叉树 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&…

Redis的数据类型及对应的数据结构(一)

Redis的数据类型和数据结构的对应关系 左边是 Redis 3.0版本的&#xff0c;也就是《Redis 设计与实现》这本书讲解的版本&#xff0c;右边是7.0,注意区别很大 数据类型包括&#xff1a;String、List、Hash、Set、ZSet 对应的底层数据结构入上图 String的应用场景 缓存对象 …

17.API Promise化 miniprogram-api-promise

目录 1 安装 2 配置 3 使用 1 安装 安装之后会在项目路径下出现这个目录&#xff0c;这个目录中又我们之前安装过的npm包 我们删除掉 miniprogram_npm 这个目录 然后点击构建 npm 构建之后就自动变成这样 2 配置 进入 app.js&#xff0c;然后写下面这些东西 3 使用

C++——auto关键字

目录 1. auto简介 2. auto的使用细则 3. auto的实际应用价值 1. auto简介 在早期C/C中auto的含义是&#xff1a;使用auto修饰的变量&#xff0c;是具有自动存储器的局部变量&#xff0c;但遗憾的是一直没有人去使用它&#xff0c;大家可思考下为什么&#xff1f; C11中&…

安装单机版openGauss

安装单机版openGauss 环境白名单查看ip地址问题解决python版本之间的问题yum指向2.7的编译 安装启动数据库 环境 下载python3.6.8 首先linux中的版本是默认的2.7.5.要下载3.6.8&#xff0c;需要用到wget&#xff0c; openGauss数据库基本操作&#xff08;超详细&#xff09; …

MATLAB 之 低层绘图操作和光照及材质处理

这里写目录标题 一、低层绘图操作1. 曲线对象2. 曲面对象3. 文本对象4. 其他核心对象4.1 区域块对象4.2 方框对象 二、光照和材质处理1. 光照处理2. 材质处理2.1 图形对象的反射特性2.2 material 函数 一、低层绘图操作 MATLAB 将曲线、曲面、文本等图形均视为对象&#xff0c…

五、一些经典的网络架构

一、Alexnet 2012年卷积神经网络的开篇鼻祖 但放到现在确实有很多的弊端和有待改进的地方 1&#xff0c;网络基本架构 8层网络&#xff0c;其中有5层卷积&#xff0c;3层全连接 网络层数的定义&#xff1a;主要看有没有参数运算的参与&#xff0c;例如卷积层和全连接就可以…

Xubuntu22.04之安装少儿编程scratch3.3(一百八十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

SPEC CPU 2006 gcc version 8.3.0 (Uos 8.3.0.3-3+rebuild) x86_64 源码编译tools 错误处理笔记

编译tools 拷贝tools到安装目录 cp /mnt/iso/tools /opt/speccpu2006/ -r 执行编译 su rootcd /opt/speccpu2006/tools/src sh -x buildtools 错误 undefined reference to __alloca 编辑./make-3.82/glob/glob.c&#xff0c;注释掉以下宏判断 you should not run config…

「网络编程」第二讲:socket套接字(四 - 完结)_ Linux任务管理与守护进程 | TCP协议通讯流程

「前言」文章是关于网络编程的socket套接字方面的&#xff0c;上一篇是网络编程socket套接字&#xff08;三&#xff09;&#xff0c;这篇续上篇文章的内容&#xff0c;下面开始讲解&#xff01; 「归属专栏」网络编程 「笔者」枫叶先生(fy) 「座右铭」前行路上修真我 「枫叶先…

linux之用户和用户组

在此之前我们需要先了解用户和用户组的区别 用户是我们可以登录的账号&#xff0c;而用户组是用户的小组&#xff0c;组也可以分为主组和附属组&#xff0c;主组是用户的主要组&#xff0c;附属而是用户的附加组 目录 1.添加新用户账号 2.用户口令的管理 3.用户组命令 1.添加…