MySQL 数据库:原理、应用与发展

news2024/9/25 9:41:09

摘要:本文深入探讨了 MySQL 数据库相关内容。首先介绍了 MySQL 作为开源关系型数据库管理系统的显著特点,包括易用性、跨平台性、高性能、可扩展性、开源免费以及数据安全性等方面。接着详细阐述了其安装与配置过程,涵盖在不同操作系统上的安装方式、配置文件参数的含义与设置,以及字符集和校对规则的设定。

文中进一步讲解了 MySQL 的基本概念,如数据库与表的构成、多种数据类型、不同索引类型的特点与应用场景。并对 SQL 语言在 MySQL 中的应用进行了全面分析,从数据定义语言(DDL)、数据操纵语言(DML)、数据查询语言(DQL)到数据控制语言(DCL)都给出了丰富的示例。

对于 MySQL 存储引擎,重点分析了 InnoDB 和 MyISAM 存储引擎的特性,包括事务支持、外键约束、数据存储结构以及适用场景等,同时也提及了其他存储引擎。在优化方面,从索引优化、查询优化到配置优化多个角度提供了优化策略与方法。

还详细描述了 MySQL 数据库的备份与恢复策略、方法,以及在企业级应用如电商系统、金融系统、大数据环境下的具体实践。同时探讨了 MySQL 数据库的安全管理,包括用户认证与授权、数据加密和安全审计等措施。最后展望了 MySQL 数据库与云计算结合、与大数据技术融合以及智能化数据库管理的发展趋势。

目录

一、MySQL 数据库简介

二、MySQL 数据库的安装与配置

三、MySQL 数据库的基本概念

四、SQL 语言在 MySQL 中的应用

五、MySQL 存储引擎

六、MySQL 数据库的优化

七、MySQL 数据库的备份与恢复

八、MySQL 在企业级应用中的实践

九、MySQL 数据库的安全管理

十、MySQL 数据库的发展趋势


一、MySQL 数据库简介

MySQL 是一种广泛使用的开源关系型数据库管理系统。它在众多领域中都有着重要的应用,从简单的个人项目到大型企业级的复杂系统。

MySQL 具有以下一些显著特点:

易用性:对于初学者来说,它提供了相对简单的安装和配置流程。无论是在 Windows、Linux 还是其他操作系统上,都可以较为轻松地搭建起 MySQL 环境。其基本的 SQL 操作语言直观易懂,使得开发者能够快速上手进行数据库的创建、表的设计以及数据的增删改查操作。

跨平台性:可以在多种操作系统上运行,这为开发人员提供了极大的灵活性。无论是在开发环境还是生产环境中,都可以根据实际需求选择合适的操作系统,而无需担心数据库的兼容性问题。

高性能:在数据存储和检索方面表现出色。通过优化索引、缓存等机制,MySQL 能够快速处理大量的并发查询。在处理复杂的业务逻辑和海量数据时,依然能够保持较高的响应速度。

可扩展性:支持多种存储引擎,如 InnoDB、MyISAM 等。不同的存储引擎适用于不同的应用场景,可以根据具体需求进行选择和切换。例如,InnoDB 适合事务处理密集型的应用,而 MyISAM 则在某些特定的只读场景下具有更高的性能。

开源免费:作为开源软件,它可以免费使用,这大大降低了企业和开发者的成本。同时,开源社区也为 MySQL 的发展和完善提供了强大的支持,不断有新的功能和优化被添加进来。

数据安全性:提供了多种安全机制,如用户认证、授权、数据加密等。可以通过设置复杂的用户密码、限制用户的操作权限以及对敏感数据进行加密等方式,确保数据库中的数据安全。

二、MySQL 数据库的安装与配置

安装过程

在 Windows 环境下,通常可以从 MySQL 官方网站下载安装程序。运行安装程序后,按照向导逐步进行操作,包括选择安装路径、配置端口号、设置 root 用户密码等。在 Linux 环境下,可以通过包管理工具(如 apt、yum 等)来安装 MySQL。例如,在 Ubuntu 系统中,可以使用 “sudo apt-get install mysql-server” 命令进行安装。

配置文件

MySQL 的配置文件(通常是 my.cnf 或 my.ini)包含了许多重要的参数,这些参数可以影响数据库的性能和行为。一些常见的配置参数包括:

  • 存储引擎相关:如 “default-storage-engine=InnoDB” 可以设置默认的存储引擎为 InnoDB。
  • 缓存相关:“key_buffer_size” 用于配置 MyISAM 存储引擎的索引缓存大小;“innodb_buffer_pool_size” 用于配置 InnoDB 存储引擎的缓冲池大小。合理设置这些缓存大小可以显著提高查询性能。
  • 连接相关:“max_connections” 可以限制同时连接到数据库的最大客户端数量。

字符集和校对规则

在配置文件中还可以设置字符集和校对规则。例如,“character-set-server=utf8mb4” 可以设置服务器的字符集为 utf8mb4,“collation-server=utf8mb4_unicode_ci” 可以设置校对规则。正确设置字符集和校对规则对于处理多语言环境下的文本数据至关重要。

三、MySQL 数据库的基本概念

数据库与表

数据库是数据的集合,它可以包含多个表。表是数据库中最基本的数据存储结构,由行和列组成。每一行代表一条记录,每一列代表一个字段。例如,在一个电商系统中,可能有一个 “users” 表用于存储用户信息,其中包含 “user_id”(用户编号)、“username”(用户名)、“password”(密码)、“email”(电子邮件)等字段。

数据类型

MySQL 支持多种数据类型,包括:

  • 数值类型:如整数类型(INT、BIGINT 等)、浮点数类型(FLOAT、DOUBLE 等)、定点数类型(DECIMAL)。不同的数值类型在存储范围和精度上有所不同。
  • 字符串类型:包括定长字符串类型(CHAR)和变长字符串类型(VARCHAR)。CHAR 类型在存储时会占用固定长度的空间,而 VARCHAR 类型则根据实际存储的字符长度来占用空间。此外,还有 TEXT、MEDIUMTEXT、LONGTEXT 等用于存储较长的文本数据。
  • 日期和时间类型:如 DATE(存储日期)、TIME(存储时间)、DATETIME(存储日期和时间)、TIMESTAMP(存储时间戳,自动更新)。

索引

索引是一种特殊的数据结构,它可以加快数据的查询速度。在 MySQL 中,常见的索引类型包括:

  • B - Tree 索引:是最常用的索引类型,适用于普通的查询场景。它可以快速地定位到符合条件的数据所在的行。
  • 哈希索引:对于等值查询非常高效,但不支持范围查询。
  • 全文索引:用于对文本数据进行全文搜索,例如在文章内容中搜索特定的关键词。

四、SQL 语言在 MySQL 中的应用

数据定义语言(DDL)

  • 创建数据库:使用 “CREATE DATABASE database_name;” 语句来创建一个新的数据库。例如,“CREATE DATABASE mydb;” 创建了一个名为 mydb 的数据库。
  • 创建表:通过 “CREATE TABLE table_name (column1 datatype1, column2 datatype2,...);” 语句来创建表。例如,“CREATE TABLE students (student_id INT PRIMARY KEY, name VARCHAR (50), age INT);” 创建了一个名为 students 的表,其中包含 student_id、name 和 age 三个字段。
  • 修改表结构:可以使用 “ALTER TABLE” 语句来添加、删除或修改表中的列。例如,“ALTER TABLE students ADD COLUMN gender VARCHAR (10);” 在 students 表中添加了一个 gender 字段。

数据操纵语言(DML)

  • 插入数据:使用 “INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,...);” 语句来插入新的数据。例如,“INSERT INTO students (student_id, name, age) VALUES (1, 'John', 20);” 向 students 表中插入了一条记录。
  • 更新数据:“UPDATE table_name SET column1 = value1, column2 = value2,... WHERE condition;” 语句用于更新表中的数据。例如,“UPDATE students SET age = 21 WHERE student_id = 1;” 将 student_id 为 1 的学生的年龄更新为 21。
  • 删除数据:“DELETE FROM table_name WHERE condition;” 语句用于删除符合条件的数据。例如,“DELETE FROM students WHERE student_id = 1;” 删除 student_id 为 1 的学生记录。

数据查询语言(DQL)

  • 简单查询:通过 “SELECT column1, column2,... FROM table_name WHERE condition;” 语句进行查询。例如,“SELECT name, age FROM students WHERE age > 18;” 查询年龄大于 18 岁的学生的姓名和年龄。
  • 连接查询:可以将多个表连接在一起进行查询。例如,在一个包含 “students” 表和 “courses” 表的数据库中,“SELECT students.name, courses.course_name FROM students JOIN courses ON students.student_id = courses.student_id;” 查询出每个学生所选课程的信息。
  • 子查询:在一个查询中嵌套另一个查询。例如,“SELECT name FROM students WHERE student_id IN (SELECT student_id FROM courses WHERE course_name = 'Math');” 查询出选修了数学课程的学生的姓名。

数据控制语言(DCL)

  • 用户授权:使用 “GRANT privileges ON database_name.table_name TO user_name;” 语句给用户授权。例如,“GRANT SELECT, INSERT ON mydb.students TO user1;” 给用户 user1 授予了对 mydb 数据库中的 students 表的查询和插入权限。
  • 撤销权限:通过 “REVOKE privileges ON database_name.table_name FROM user_name;” 语句撤销用户的权限。

五、MySQL 存储引擎

InnoDB 存储引擎

  • 事务支持:InnoDB 是 MySQL 中最常用的存储引擎之一,它提供了对事务的全面支持。事务是一组数据库操作,要么全部成功执行,要么全部失败回滚。这对于保证数据的一致性和完整性至关重要。例如,在银行转账系统中,从一个账户扣款和在另一个账户存款这两个操作必须作为一个事务来处理,以确保资金的正确转移。
  • 外键约束:支持外键约束,这有助于维护表之间的关系。例如,在一个包含 “orders” 表和 “customers” 表的数据库中,可以在 “orders” 表中设置一个外键,指向 “customers” 表中的 “customer_id” 字段,这样可以确保订单总是与有效的客户相关联。
  • 数据存储结构:InnoDB 将数据存储在表空间中,表空间可以由多个数据文件组成。它采用了 B + Tree 索引结构,既可以提高数据的查询速度,又可以保证数据的存储效率。

MyISAM 存储引擎

  • 高性能的读取操作:MyISAM 在读取操作上具有较高的性能,特别是在一些简单的查询场景下。它适合于那些以读为主的应用,如新闻网站、博客等,其中数据的读取频率远高于写入频率。
  • 不支持事务和外键:与 InnoDB 不同,MyISAM 不支持事务和外键约束。这意味着在某些复杂的业务场景下,它可能无法满足数据一致性的要求。
  • 数据存储结构:MyISAM 将数据存储在三个文件中:.frm 文件(存储表结构信息)、.MYD 文件(存储数据)和.MYI 文件(存储索引信息)。

其他存储引擎

除了 InnoDB 和 MyISAM 之外,MySQL 还支持其他存储引擎,如 Memory 存储引擎(数据存储在内存中,适合临时数据存储和高速缓存)、Archive 存储引擎(用于存储大量的归档数据,具有高压缩比)等。

六、MySQL 数据库的优化

索引优化

  • 选择合适的索引列:并非所有的列都需要创建索引,应该选择那些经常用于查询条件、连接条件和排序条件的列创建索引。例如,在一个电商系统中,如果经常根据商品的类别和价格进行搜索,那么可以在 “category” 和 “price” 列上创建索引。
  • 避免过度索引:创建过多的索引会增加数据插入、更新和删除的时间,因为每次数据操作都需要同时维护索引。应该根据实际需求合理控制索引的数量。
  • 复合索引的设计:当多个列经常一起用于查询条件时,可以考虑创建复合索引。例如,如果经常根据 “category” 和 “brand” 两个列来查询商品信息,那么可以创建一个复合索引 “category_brand_idx”。

查询优化

  • 避免全表扫描:尽量使用索引来避免全表扫描。可以通过 “EXPLAIN” 语句来分析查询语句的执行计划,查看是否使用了索引。如果发现没有使用索引,可以尝试调整查询条件或者优化索引。
  • 优化子查询:在某些情况下,子查询可以用连接查询来替代,以提高查询性能。例如,“SELECT * FROM table1 WHERE column1 IN (SELECT column1 FROM table2);” 可以改写为 “SELECT table1.* FROM table1 JOIN table2 ON table1.column1 = table2.column1;”。
  • 使用存储过程和函数:对于一些复杂的业务逻辑,可以将其封装在存储过程或函数中。存储过程和函数在数据库服务器端执行,可以减少网络传输开销,提高执行效率。

配置优化

  • 调整内存相关参数:根据服务器的内存大小和数据库的负载情况,合理调整缓存相关的参数,如 “innodb_buffer_pool_size”、“key_buffer_size” 等。例如,如果服务器内存较大,可以适当增大这些缓存参数,以提高数据的缓存命中率。
  • 优化磁盘 I/O:可以将数据库的数据文件和日志文件分别存储在不同的磁盘上,以减少磁盘 I/O 冲突。同时,可以使用固态硬盘(SSD)来提高磁盘的读写速度。

七、MySQL 数据库的备份与恢复

备份策略

  • 完全备份:定期对整个数据库进行完全备份,例如每天进行一次完全备份。完全备份可以确保在发生数据丢失时,能够恢复到最近一次备份的状态。
  • 增量备份:在完全备份的基础上,每隔一段时间进行增量备份,只备份自上一次备份以来发生变化的数据。增量备份可以减少备份时间和备份文件的大小。
  • 差异备份:与增量备份类似,但差异备份是备份自上一次完全备份以来发生变化的数据。

备份方法

  • 使用 mysqldump 命令:这是 MySQL 自带的备份工具,可以将数据库中的数据和结构备份到一个 SQL 文件中。例如,“mysqldump -u root -p mydb> mydb_backup.sql” 将 mydb 数据库备份到 mydb_backup.sql 文件中。
  • 使用物理备份方法:直接复制 MySQL 数据库的数据文件和日志文件。这种方法备份速度快,但需要确保在备份过程中数据库处于一致状态。

恢复方法

  • 使用 SQL 文件恢复:如果是使用 mysqldump 命令进行备份的,可以使用 “mysql -u root -p mydb < mydb_backup.sql” 命令将备份文件恢复到数据库中。
  • 物理恢复:将备份的物理文件(数据文件和日志文件)复制到原来的位置,然后启动 MySQL 服务。

八、MySQL 在企业级应用中的实践

在电商系统中的应用

  • 商品管理:MySQL 用于存储商品信息,如商品编号、名称、价格、描述、图片等。通过合理的表设计和索引优化,可以快速地进行商品的查询、添加、修改和删除操作。
  • 订单管理:订单相关的数据,如订单编号、用户信息、商品信息、订单状态等都存储在 MySQL 中。在处理订单的过程中,需要保证数据的一致性和完整性,这就需要利用 InnoDB 存储引擎的事务支持。
  • 用户管理:存储用户的基本信息、登录信息、购物历史等。通过分析用户数据,可以为用户提供个性化的推荐服务。

在金融系统中的应用

  • 账户管理:存储客户的账户信息,如账户编号、余额、交易记录等。在进行转账、存款、取款等操作时,需要对账户数据进行严格的事务处理,以确保资金的安全。
  • 交易处理:每一笔金融交易都需要记录在数据库中,包括交易时间、交易金额、交易双方等信息。MySQL 需要处理大量的并发交易,这就需要对数据库进行性能优化。
  • 风险管理:通过分析历史交易数据,利用 MySQL 进行数据挖掘和分析,评估金融风险,为决策提供支持。

在大数据环境下的应用

  • 数据存储与处理:虽然 MySQL 本身并不是专门的大数据处理工具,但在大数据环境下,它仍然可以作为数据存储的一部分。例如,将一些结构化的数据存储在 MySQL 中,然后与其他大数据处理工具(如 Hadoop、Spark 等)结合使用。
  • 数据分析与报表:利用 MySQL 的查询功能和存储过程,可以进行简单的数据分析和报表生成。对于复杂的大数据分析,可以将 MySQL 中的数据导出到专门的大数据分析平台进行处理。

九、MySQL 数据库的安全管理

用户认证与授权

  • 用户管理:创建不同的用户,并为每个用户设置不同的密码。可以通过 “CREATE USER user_name IDENTIFIED BY 'password';” 语句来创建用户。
  • 权限管理:根据用户的角色和职责,为其授予不同的权限。例如,对于普通用户,可能只授予查询和插入权限;对于管理员用户,则授予所有权限。

数据加密

  • 传输加密:使用 SSL/TLS 协议对客户端和服务器之间的数据传输进行加密,以防止数据在网络传输过程中被窃取或篡改。
  • 存储加密:对数据库中的敏感数据进行加密存储。例如,可以使用 MySQL 自带的加密函数(如 AES_ENCRYPT、AES_DECRYPT 等)对密码、信用卡信息等敏感数据进行加密。

安全审计

  • 日志记录:启用 MySQL 的日志功能,如二进制日志、错误日志、查询日志等。通过分析这些日志,可以了解数据库的运行情况,发现安全隐患。
  • 安全事件监控:使用专门的安全监控工具对 MySQL 数据库进行实时监控,及时发现异常的访问行为和安全事件。

十、MySQL 数据库的发展趋势

与云计算的结合

  • 云数据库服务:越来越多的云服务提供商提供基于 MySQL 的云数据库服务,如亚马逊的 RDS for MySQL、阿里云的 PolarDB 等。这些云数据库服务提供了高可用性、可扩展性和便捷的管理方式,用户无需关心数据库的硬件和软件维护。
  • 容器化部署:随着 Docker 等容器技术的发展,MySQL 可以很方便地进行容器化部署。容器化部署可以提高数据库的部署效率,实现快速的弹性伸缩。

与大数据技术的融合

  • 数据湖架构:在数据湖架构中,MySQL 可以作为数据湖中的一个数据源,与其他数据存储(如 Hive、HBase 等)一起构成一个统一的数据存储和处理平台。
  • 实时数据分析:结合流式处理技术(如 Kafka、Flink 等),MySQL 可以实现实时数据的采集、存储和分析,满足企业对实时数据处理的需求。

智能化数据库管理

  • 自动化运维:利用人工智能和机器学习技术,实现数据库的自动化运维。例如,通过分析数据库的性能指标和日志数据,自动调整数据库的配置参数,优化数据库的性能。
  • 智能查询优化:根据用户的查询历史和数据的分布情况,自动优化查询语句,提高查询效率。

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

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

相关文章

STM32使用 :串口的接收与发送

一、串口 在 STM32 中&#xff0c;串口&#xff08;UART&#xff0c;通用异步收发传输器&#xff09;是用于串行通信的外设。它在嵌入式系统中的作用非常广泛&#xff0c;主要包括几个方面 数据通信 串口用于微控制器与其他设备之间的数据传输。这些设备可以是其他微控制器、…

F12抓包08:查看网站Cookie

课程大纲 1、查看Cookie 1. 应用界面查看&#xff1a;按F12进入浏览器的开发者模式 - “应用”&#xff08;Application&#xff09; - Cookie&#xff0c;可查看Cookie并进行增、删、改、查操作。 2. 控制台命令行查看&#xff1a;按F12进入浏览器的开发者模式 - “控制台”&…

【无标题】nginx服务器代码信息、数据库连接信息、敏感文件的路径、服务器版本信息发起有针对性的攻击

Nginx敏感文件的路径、服务器版本信息 Nginx 403、404、500等错误时&#xff0c;返回详细错误信息。报错信息中可能会包含服务器代码信息、数据库连接信息、敏感文件的路径、服务器版本信息等&#xff0c;攻击者可以利用这些信息来寻找已知的漏洞&#xff0c;从而发起有针对性…

『功能项目』管理器基类【38】

我们打开上一篇37单例模式框架的项目&#xff0c; 本章要做的事情是编写管理器基类 首先创建脚本&#xff1a;ManagerBase.cs using UnityEngine; public abstract class ManagerBase : MonoBehaviour{public virtual void Init() { } } public class ManagerBase<T> : …

【Qt系列样式表】探索Qt Widget的艺术化设计与应用(Macos风格)(持续更新中...)

✨✨ Rqtz 个人主页 : 点击✨✨ &#x1f308;Qt系列专栏:点击 &#x1f388;PyQt系列专栏:点击&#x1f388; &#x1f388;Qt智能车上位机专栏: 点击&#x1f388; &#x1f388;Qt串口助手专栏:点击&#x1f388; &#x1f4ab;宗旨:共享IT之美,共创机器未来 目录 界面…

毕业论文word页眉页脚和页码的问题

多找B站视频查看视频操作方法。 问题1&#xff1a; 不同章节的页眉显示不同内容。 解决办法&#xff1a; “布局”里面插入分节符 &#xff08;非 分页符。&#xff09; 问题2&#xff1a; 页眉需要奇偶页内容不同 解决办法&#xff0c;编辑页眉部分&#xff0c;设置 奇偶页…

Qt (15)【Qt窗口 —— 字体对话框 QFontDialog | 输入对话框 QInputDialog】

阅读导航 引言一、字体对话框 QFontDialog1. 简介2. 基本用法3. 示例代码 二、输入对话框 QInputDialog1. 简介2. 基本用法&#xff08;1&#xff09;双精度浮点型输入数据对话框&#xff08;2&#xff09;整型输入数据对话框&#xff08;3&#xff09;选择条目型输入数据框 3.…

李沐对大模型趋势的几点判断

李沐是上海交通大学 2011 届计算机科学与工程系本硕系友。他曾担任亚马逊资深首席科学家&#xff0c;加州大学伯克利分校和斯坦福大学的访问助理教授&#xff0c;是前 Marianas Labs 联合创始人&#xff0c;深度学习框架 Apache MXNet 的创始人之一。目前是 BosonAI 联合创始人…

【数据分析】标准误差与标准差的区别

标准误差&#xff08;Standard Error, SE&#xff09;和标准差&#xff08;Standard Deviation, SD&#xff09;是两个在统计学中非常重要的概念&#xff0c;但它们的含义和用途有所不同。以下是它们之间的主要区别&#xff1a; 定义&#xff1a; 标准差&#xff1a;衡量单个数…

【mybatis】使用模糊查询时报错:Encountered unexpected token: “?“ “?“

报错信息如下&#xff1a; Mapper.xml报错代码&#xff1a; AND HILIST_NAME like %#{hilistName}% 解决方案&#xff1a; 把模糊查询的 sql 语句改为使用 CONCAT 命令拼接, 就不会报错了。 AND HILIST_NAME like CONCAT(%, #{hilistName},%)

深入探讨-JavaScript-逻辑赋值运算符

null && 100**2 // null undefined && 100**2 // undefined 逻辑赋值运算符 && || ?? 这个运算符将赋值与条件逻辑运算符结合在一起&#xff0c;因此命名为**“逻辑赋值”** 。它们只是一种简写&#xff0c; 例如&#xff0c;x && y是x …

Windows本地部署ollama并实现无公网IP远程运行qwen大语言模型

文章目录 前言1. 运行Ollama2. 安装Open WebUI2.1 在Windows系统安装Docker2.2 使用Docker部署Open WebUI 3. 安装内网穿透工具4. 创建固定公网地址 前言 本文主要介绍如何在Windows系统快速部署Ollama开源大语言模型运行工具&#xff0c;并安装Open WebUI结合cpolar内网穿透软…

打造智能数据分析平台:基于 Flask 的数据处理与模型精度验证系统

数据分析和机器学习已成为企业和科研中不可或缺的核心技术。在这个数据驱动的时代&#xff0c;能够快速处理海量数据&#xff0c;并通过智能算法提取出有用信息&#xff0c;成为了提升竞争力的关键。为了解决这些需求&#xff0c;我基于 Flask 开发了一款功能强大、模块化的数据…

【蓝桥杯单片机-0.基于定时器的时钟程序设计】

蓝桥杯单片机-0.基于定时器的时钟程序设计 题目小注意点按键三行矩形按键按键功能时间更新显示界面的小数点LED灯闪烁其他功能 完整代码 链接: 视频搭配视频&#xff0c;这里只是一些笔记&#xff0c;并不完整 题目 小注意点 按键三行 Key_Val Key_Read();//实时读取键码值…

JDBC知识点总结概括(day29)

1 学习目标 了解JDBC的概念重点掌握JDBC的CRUD重点掌握JDBC的各个对象的使用 2 GIT 查看安装手册 3 JDBC概述 3.1 数据的持久化 持久化(persistence)&#xff1a;把数据保存到可掉电式存储设备中以供之后使用。大多数情况下&#xff0c;特别是企业级应用&#xff0c;数据持…

【人工智能学习笔记】5 计算机视觉基础

计算机视觉概述 定义&#xff1a;计算机视觉&#xff08;Computer Vision&#xff09;是一门研究如何使机器“看”的科学&#xff0c;也可以看作是研究如何使人工系统从图像活多维数据中“感知”的科学终极目标&#xff1a;计算机视觉成为机器认知世界的基础&#xff0c;终极目…

Linux——高流量 高并发(访问场景) 高可用(架构要求)

高并发通用设计逻辑&#xff1a; 定位单点&#xff0c;拆分问题 架构调整的顺序&#xff1a; 动静分离 // 没有实现动静分离 // 静态请求 交给 nginx或者 httpd 这种对于静态资源处理效率更高的服务&#xff0c;动态请求 交给php-fpm 服务来处理 使用云服务提供商 &#xff…

怎么翻译图片上的文字?6种方法教你快速翻译

现如今&#xff0c;图片已经成为传播信息的重要载体之一&#xff0c;然而&#xff0c;图片上的文字往往成为我们获取信息的障碍。幸运的是&#xff0c;随着技术的发展&#xff0c;多种图片文字翻译工具应运而生&#xff0c;让翻译变得简单快捷。很多小伙伴不清楚哪些翻译工具简…

《JavaEE进阶》----15.<Spring Boot 日志>

本篇文章将记录我学习SpringBoot日志 1.日志文件的用途 2.SpringBoot日志文件的配置 3.用lombook依赖引入Slf4j注解&#xff0c;从而引入log对象。方便我们打印日志。 一、日志的作用 日志主要是为了发现问题、分析问题、定位问题。除此之外、日志还有许多其他的用途。 1.系统监…

玩转西门子 S7-1200/1500 的 Modbus RTU 通信诊断

01 概述工控人加入PLC工业自动化精英社群 Modbus RTU 是一种串行通信协议&#xff0c;由于具有协议透明&#xff0c;实现成本低&#xff0c;简单易用等诸多特点&#xff0c;至今仍然广泛应用在工业控制的各个领域。 为了通信可以长期稳定的运行&#xff0c;并且可以在故障时可…