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

Ubuntu安装MySQL步骤及注意事项

一、安装前准备

        1. 系统更新:在安装 MySQL 之前,确保你的 Ubuntu 系统软件包是最新的,这能避免因软件包版本问题导致的安装错误,并获取最新的安全补丁。打开终端,执行以下两条命令:

sudo apt update
sudo apt upgrade -y

        sudo apt update命令用于更新软件包索引,让系统知晓可用软件包的最新版本信息。sudo apt upgrade -y则会自动安装系统中已安装软件包的可用更新,-y参数表示自动回答 “是”,避免逐个确认的麻烦。

        2. 检查是否已安装 MySQL:有些情况下,系统可能已经预装了 MySQL 或者之前安装过残留文件。通过以下命令检查:

dpkg -l | grep mysql

        如果有相关软件包列出,可能需要先卸载。例如,若要卸载mysql-server,可执行:

sudo apt - get remove mysql - server

        若要彻底清除包括配置文件在内的所有内容,使用:

sudo apt - get purge mysql - server

        卸载后,还需手动删除可能残留的相关目录,如/etc/mysql和/var/lib/mysql等(操作时需谨慎,确认无重要数据留存)。

二、安装 MySQL

        1.使用 Ubuntu 官方仓库安装

sudo apt install -y mysql - server

        该命令会从 Ubuntu 官方软件源下载并安装 MySQL 服务器及其依赖项。安装过程中,系统会提示设置root用户的密码。请设置一个强密码,包含字母(大小写)、数字和特殊字符,以增强安全性。例如:MyS3cur3P@ssw0rd!

sudo apt install -y libmysqlclient - dev
  • 安装 MySQL 服务器软件包:在终端执行以下命令:
  • 安装 MySQL 开发包(可选):若你计划进行 MySQL 相关开发工作,还需安装开发包,它包含用于开发的头文件和动态库文件。执行:

        2.使用 MySQL 官方仓库安装(获取最新版本)

sudo apt update

然后安装 MySQL 服务器:

sudo apt install -y mysql - server
  • 下载并添加 MySQL APT 仓库
wget https://dev.mysql.com/get/mysql - apt - config_0.8.26 - 1_all.deb
sudo dpkg -i mysql - apt - config_0.8.26 - 1_all.deb

安装过程中,会弹出一个配置界面,可根据需求选择要安装的 MySQL 版本系列(如 MySQL 8.0、MySQL 5.7 等)以及其他相关选项,一般保持默认即可。

  • 首先,访问MySQL APT Repository 页面,找到最新版本的mysql - apt - config包下载链接。例如,当前最新版本为mysql - apt - config_0.8.26 - 1_all.deb,使用wget命令下载:
  • 下载完成后,安装该配置包:
  • 更新 APT 仓库并安装 MySQL 服务器:添加完 MySQL 官方仓库后,更新系统软件包索引:

三、启动与配置 MySQL 服务

        1.启动 MySQL 服务:安装完成后,MySQL 服务默认自动启动。但如果安装后未自动启动,或者你手动停止了服务,可通过以下命令启动:

sudo systemctl start mysql

        2.设置开机自启:为确保系统每次启动时 MySQL 服务都能自动运行,执行:

sudo systemctl enable mysql

        3.检查服务状态:使用以下命令查看 MySQL 服务是否正常运行:

sudo systemctl status mysql

        若服务正常运行,输出中会显示Active: active (running)等字样。例如:

● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2025 - 04 - 18 10:30:00 UTC; 1min ago
Main PID: 1234 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 4687)
Memory: 200.0M
CGroup: /system.slice/mysql.service
└─1234 /usr/sbin/mysqld

四、MySQL 初始设置与安全加固

  1. 处理初始自动生成的用户名和密码(部分版本适用):在某些最新版本的 MySQL 安装过程中,系统会自动为root用户生成一个临时密码。需找到该临时密码并进行更改。
sudo grep 'temporary password' /var/log/mysql/error.log

输出类似如下:

(2025 - 04 - 18T10:30:00.123456Z) (Note) A temporary password is generated for root@localhost: xXxXxXxXxXx

记下该临时密码(例如xXxXxXxXxXx)。

sudo mysql_secure_installation

执行该脚本后,会被提示执行以下操作:

  • 查找临时密码:安装完成后,MySQL 会将临时密码记录在日志文件中。使用以下命令查看日志并获取临时密码:
  • 运行安全性脚本:为提高 MySQL 的安全性,并修改初始密码,建议运行官方提供的安全性脚本:
  • 输入当前root密码:使用上一步骤中获取的临时密码。
  • 设置新root密码:根据提示设置一个强密码,例如包含大写字母、小写字母、数字和特殊字符的组合,如MyNewP@ss123!。
  • 移除匿名用户:建议选择移除,以提高安全性。
  • 禁止远程root登录:建议禁止,减少安全风险。
  • 移除测试数据库:建议移除,避免不必要的安全隐患。
  • 重新加载权限表:选择 “是” 以应用更改。

        2. 手动修改root初始密码:如果不想使用mysql_secure_installation脚本,也可手动修改root密码。

sudo mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword!';
FLUSH PRIVILEGES;

将YourNewStrongPassword!替换为你希望设置的新密码。

sudo mysql -u root -p

输入新密码后,应能成功登录。

  • 登录 MySQL:使用当前root密码(如果是新安装且未设置过密码,可能为空或使用临时密码)登录 MySQL:
  • 修改root密码:在 MySQL 命令行中执行以下命令以修改root用户的密码:
  • 验证密码修改:退出 MySQL 并重新登录以验证新密码是否生效:

五、验证安装

  1. 登录 MySQL:使用设置好的root密码登录 MySQL:
mysql -u root -p

输入密码后,若成功登录,会进入 MySQL 命令行界面,显示类似如下提示符:

mysql>

        2.检查 MySQL 版本:在 MySQL 命令行中运行以下命令查看版本信息:

SELECT VERSION();

输出结果类似:

+-----------+
| VERSION() |
+-----------+
| 8.0.33 |
+-----------+

这表明 MySQL 已成功安装并运行。

六、配置防火墙(可选)

如果你的 Ubuntu 系统启用了防火墙,且需要通过网络访问 MySQL,确保防火墙允许 MySQL 服务的端口(默认为 3306)的流量。

  1. 使用 UFW 防火墙
sudo ufw allow 'MySQL'

或者更具体地允许 3306 端口的 TCP 流量:

sudo ufw allow 3306/tcp
sudo ufw reload
  • 允许 MySQL 服务通过防火墙:执行以下命令:
  • 重新加载防火墙规则:使设置生效:

        2.使用其他防火墙(如 iptables):具体配置命令因防火墙规则管理方式而异。例如,使用iptables允许 3306 端口的 TCP 流量:

sudo iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

        同时,可能需要保存iptables规则,以便系统重启后仍然生效。不同系统保存iptables规则的方式略有不同,例如在某些系统中可使用iptables - save > /etc/iptables/rules.v4命令保存规则。

七、注意事项

  1. 字符集设置:MySQL 默认字符集可能不符合需求,尤其是在处理包含非 ASCII 字符(如中文、日文等)的数据时。建议在安装完成后,修改 MySQL 配置文件(通常位于/etc/mysql/mysql.conf.d/mysqld.cnf)来设置合适的字符集。例如,在文件中添加或修改以下内容:

[mysqld]

character - set - server = utf8mb4

collation - server = utf8mb4_unicode_ci

然后重启 MySQL 服务使设置生效:

sudo systemctl restart mysql

        注意,要先设置字符集再创建数据库和导入数据,否则数据库的字符集不会根据默认字符集改变而改变。

        2.远程访问设置:默认情况下,MySQL 只允许本地访问。如果需要从远程主机访问 MySQL,除了配置防火墙允许 3306 端口流量外,还需修改 MySQL 的配置文件。在/etc/mysql/mysql.conf.d/mysqld.cnf文件中,找到并注释掉或修改bind - address这一行,将其值改为0.0.0.0,表示允许来自任何 IP 地址的连接(生产环境中应谨慎设置,建议只允许受信任的 IP 地址连接):

#bind - address = 127.0.0.1
bind - address = 0.0.0.0

        然后重启 MySQL 服务。此外,还需在 MySQL 中为远程访问用户授权,例如创建一个新用户并授予其远程访问权限:

CREATE USER 'new_user'@'%' IDENTIFIED BY 'new_password';
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'%';
FLUSH PRIVILEGES;

这里new_user为新用户名,new_password为密码,%表示允许从任何主机连接。

        3.备份与恢复:定期备份 MySQL 数据库至关重要,以防止数据丢失。可使用mysqldump命令进行数据库备份。例如,备份整个数据库:

mysqldump -u root -p your_database > backup.sql

其中your_database为要备份的数据库名称,backup.sql为备份文件名称。恢复备份时,可使用以下命令:

mysql -u root -p your_database < backup.sql

        4.软件包更新与兼容性:定期更新 MySQL 软件包以获取最新功能和安全补丁。但在更新前,务必做好数据备份,并在测试环境中先进行更新测试,确保新版本与现有应用程序兼容,避免因软件包更新导致系统或应用程序出现问题。

        通过以上步骤和注意事项,你应该能够顺利在 Ubuntu 系统上安装、配置和使用 MySQL 数据库,并保障其安全性和稳定性。

相关文章:

Ubuntu安装MySQL步骤及注意事项

一、安装前准备 1. 系统更新&#xff1a;在安装 MySQL 之前&#xff0c;确保你的 Ubuntu 系统软件包是最新的&#xff0c;这能避免因软件包版本问题导致的安装错误&#xff0c;并获取最新的安全补丁。打开终端&#xff0c;执行以下两条命令&#xff1a; sudo apt update sudo …...

支持mingw g++14.2 的c++23 功能print的vscode tasks.json生成调试

在mingw14.2版本中, print库的功能默认没有开启, 生成可执行文件的tasks.json里要显式加-lstdcexp, 注意放置顺序. tasks.json (支持mingw g14.2 c23的print ) {"version": "2.0.0","tasks": [{"type": "cppbuild","…...

WPF常用技巧汇总

主要用于记录工作中发现的一些问题和常见的解决方法。 此文会持续更新。 >abp new Evan.MyWpfApp -t wpf --old --framework .net8 1. 解决不同屏幕分辨率下的锯齿问题 UseLayoutRounding"True" <Grid UseLayoutRounding"True"><Border Mar…...

【文件操作与IO】详细解析文件操作与IO (一)

本篇博客给大家带来的是文件操作的知识点. &#x1f40e;文章专栏: JavaEE初阶 &#x1f680;若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 王子,公主请阅&#x1f680; 要开心要快乐顺便进步 一. …...

yaffs_write_new_chunk()函数解析

yaffs_write_new_chunk() 是 YAFFS&#xff08;Yet Another Flash File System&#xff09;文件系统中用于将数据写入新物理块&#xff08;chunk&#xff09;的关键函数。以下是其详细解析&#xff1a; 函数原型 int yaffs_write_new_chunk(struct yaffs_dev *dev, const u8 *…...

「数据可视化 D3系列」入门第九章:交互式操作详解

交互式操作详解 一、交互式操作的核心概念二、当前柱状图的交互实现三、交互效果的增强建议四、为饼图做准备五、交互式柱状图代码示例小结核心要点 下章预告&#xff1a;将这些交互技术应用于饼图实现 在上一章的柱状图基础上&#xff0c;我们增加了交互功能&#xff0c;让图表…...

吃透LangChain(五):多模态输入与自定义输出

多模态数据输入 这里我们演示如何将多模态输入直接传递给模型。我们目前期望所有输入都以与OpenAl 期望的格式相同的格式传递。对于支持多模态输入的其他模型提供者&#xff0c;我们在类中添加了逻辑以转换为预期格式。 在这个例子中&#xff0c;我们将要求模型描述一幅图像。 …...

数据结构基本概念

1 数据结构概述 数据结构是计算机组织&#xff08;逻辑结构&#xff09;、存储&#xff08;物理结构&#xff09;数据的方式。和具体的计算机编程语言无关&#xff0c;可以使用任何编程语言来实现数据结构 1.1 数据逻辑结构 反映数据元素之间的逻辑关系&#xff0c;逻辑关系…...

flutter app实现分辨率自适应的图片资源加载

在 Flutter 中&#xff0c;为了实现分辨率自适应的图片资源加载&#xff0c;确实需要遵循特定的目录结构和命名规则。这种机制允许 AssetImage 根据设备的 设备像素比&#xff08;Device Pixel Ratio, DPR&#xff09; 自动选择最合适的图片资源。以下是详细的说明和实现步骤&a…...

Webpack基础

目录 一、Webpack概念 二、Webpack使用步骤 三、Webpack.config.js配置文件 四、entry 和 output 1. entry 2. output 五、module 1. CSS 2. 图片 3. babel 4. 总结 六、plugins 1.自动生成 html 文件 七、其它 1.webpack-dev-server 开发服务器 2. mode 打包模…...

极狐GitLab 用户 API 速率限制如何设置?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 用户 API 速率限制 (BASIC SELF) 您可以为对 Users API 的请求配置每个用户的速率限制。 要更改速率限制&#xff1a; 1.在…...

用 Go 实现一个轻量级并发任务调度器(支持限速)

前言 在日常开发中&#xff0c;我们经常会遇到这样的场景&#xff1a; • 有一堆任务要跑&#xff08;比如&#xff1a;发请求、处理数据、爬虫等&#xff09;• 不希望一次性全部跑完&#xff0c;担心打爆服务端或者被封• 想要设置并发数、限速&#xff0c;还能控制任务重试…...

华为OD机试真题——最长的顺子(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 100分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析&#xff1b; 并提供Java、python、JavaScript、C、C语言、GO六种语言的最佳实现方式&#xff01; 本文收录于专栏&#xff1a;《2025华为OD真题目录全流程解析/备考攻略/经验…...

3.8/Q1,GBD数据库最新文章解读

文章题目&#xff1a;Regional and National Burden of Traumatic Brain Injury and Spinal Cord Injury in North Africa and Middle East Regions, 1990-2021: A Systematic Analysis for The Global Burden of Disease Study 2021 DOI&#xff1a;10.1007/s44197-025-00372-…...

Java面试中问单例模式如何回答

1. 什么是单例模式&#xff1f; 单例模式&#xff08;Singleton Pattern&#xff09;是一种设计模式&#xff0c;确保某个类在整个应用中只有一个实例&#xff0c;并且提供全局访问点。它有以下特点&#xff1a; 确保只有一个实例。提供全局访问点。防止多次实例化&#xff0…...

再看开源多模态RAG的视觉文档(OCR-Free)检索增强生成方案-VDocRAG

前期几个工作提到&#xff0c;基于OCR的文档解析RAG的方式进行知识库问答&#xff0c;受限文档结构复杂多样&#xff0c;各个环节的解析泛化能力较差&#xff0c;无法完美的对文档进行解析。因此出现了一些基于多模态大模型的RAG方案。如下&#xff1a; 【RAG&多模态】多模…...

【go】什么是Go语言中的GC,作用是什么?调优,sync.Pool优化,逃逸分析演示

Go 语言中的 GC 简介与调优建议 一、GC 简介 Go 的 GC&#xff08;Garbage Collection&#xff09;用于自动管理内存&#xff0c;开发者无需手动释放内存&#xff0c;可以专注于业务逻辑&#xff0c;降低出错概率&#xff0c;提升开发效率。 GC 能够自动发现和回收不再使用的…...

ctfshow-大赛原题-web702

因为该题没有理解到位&#xff0c;导致看wp也一直出错&#xff0c;特此反思一下。 参考yu22x师傅的文章 &#xff1a;CTFSHOW大赛原题篇(web696-web710)_ctfshow 大赛原题-CSDN博客 首先拿到题目&#xff1a; // www.zip 下载源码 我们的思路就是包含一个css文件&#xff0c;…...

基于Redis的4种延时队列实现方式

延时队列是一种特殊的消息队列&#xff0c;它允许消息在指定的时间后被消费。在微服务架构、电商系统和任务调度场景中&#xff0c;延时队列扮演着关键角色。例如&#xff0c;订单超时自动取消、定时提醒、延时支付等都依赖延时队列实现。 Redis作为高性能的内存数据库&#x…...

基于Django实现农业生产可视化系统

基于Django实现农业生产可视化系统 项目截图 登录 注册 首页 农业数据-某一指标表格展示 农业数据-某一指标柱状图展示 农业数据-某一指标饼状图展示 气候数据-平均气温地图展示 气候数据-降水量合并图展示 后台管理 一、系统简介 农业生产可视化系统是一款基于DjangoMVTMyS…...

yocto编译使用共享缓存

注意 服务器端与客户端系统的版本号需为Ubuntu20.04执行用户需要为sudo权限服务器端nfs目录权限必须为nobody:nogroup 服务端配置&#xff1a; 在服务器192.168.60.142上配置 NFS 共享&#xff1a; 1.安装 NFS 服务器&#xff1a; 1 sudo apt-get install nfs-kernel-serve…...

uCOS3实时操作系统(系统架构和中断管理)

文章目录 系统架构中断管理ARM中断寄存器相关知识ucos中断机制 系统架构 ucos主要包含三个部分的源码&#xff1a; 1、OS核心源码及其配置文件&#xff08;ucos源码&#xff09; 2、LIB库文件源码及其配置文件&#xff08;库文件&#xff0c;比如字符处理、内存管理&#xff0…...

web后端语言下篇

#作者&#xff1a;允砸儿 #日期&#xff1a;乙巳青蛇年 三月廿一 笔者今天将web后端语言PHP完结一下&#xff0c;后面还会写一个关于python的番外。 PHP函数 PHP函数它和笔者前面写的js函数有些许类似&#xff0c;都是封装的概念。将实现某一功能的代码块封装到一个结构中…...

Tensorflow释放GPU资源

语言&#xff1a;python 框架&#xff1a;tensorflow 现有问题&#xff1a;用tensorflow进行模型训练&#xff0c;训练完成后用tf.keras.backend.clear_session()命令无法真正实现释放资源的效果。 解决方案&#xff1a;创建多进程&#xff0c;将模型训练作为子进程&#xff0c…...

vscode、cherry studio接入高德mcp服务

最近mcp协议比较火&#xff0c;好多平台都已经开通了mcp协议&#xff0c;今天来接入下高德的mcp看看效果如何。 话不多说&#xff0c;咱们直接开干。 先来看下支持mcp协议的工具有cusor、cline等等。更新cherrystudio后发现上面也有mcp服务器了。今天咱就来试试添加高德的mcp协…...

软考高级-系统架构设计师 论文范文参考(二)

文章目录 论企业应用集成论软件三层结构的设计论软件设计模式的应用论软件维护及软件可维护性论信息系统安全性设计论信息系统的安全性设计(二)论信息系统的架构设计论信息系统架构设计(二) 论企业应用集成 摘要: 2016年9月&#xff0c;我国某省移动通信有限公司决定启动VerisB…...

熵权法+TOPSIS+灰色关联度综合算法(Matlab实现)

熵权法TOPSIS灰色关联度综合算法&#xff08;Matlab实现&#xff09; 代码获取私信回复&#xff1a;熵权法TOPSIS灰色关联度综合算法&#xff08;Matlab实现&#xff09; 摘要&#xff1a; 熵权法TOPSIS灰色关联度综合算法&#xff08;Matlab实现&#xff09;代码实现了一种…...

【java 13天进阶Day05】数据结构,List,Set ,TreeSet集合,Collections工具类

常见的数据结构种类 集合是基于数据结构做出来的&#xff0c;不同的集合底层会采用不同的数据结构。不同的数据结构&#xff0c;功能和作用是不一样的。数据结构&#xff1a; 数据结构指的是数据以什么方式组织在一起。不同的数据结构&#xff0c;增删查的性能是不一样的。不同…...

极狐GitLab 议题和史诗创建的速率限制如何设置?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 议题和史诗创建的速率限制 (BASIC SELF) 速率限制是为了控制新史诗和议题的创建速度。例如&#xff0c;如果您将限制设置为 …...

AIGC-几款本地生活服务智能体完整指令直接用(DeepSeek,豆包,千问,Kimi,GPT)

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列AIGC(GPT、DeepSeek、豆包、千问、Kimi)👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资…...

十、数据库day02--SQL语句01

文章目录 一、新建查询1.查询窗口的开启方法2. 单语句运行方法 二、数据库操作1.创建数据库2. 使用数据库3. 修改数据库4. 删除数据库和查看所有数据库5. 重点&#xff1a;数据库备份5.1 应用场景5.2 利用工具备份备份操作还原操作 5.3 扩展&#xff1a;使用命令备份 三、数据表…...

2025年MathorCup数学应用挑战赛D题问题一求解与整体思路分析

D题 短途运输货量预测及车辆调度 问题背景 问题分析&#xff1a;四个问题需要建立数学模型解决就业状态分析与预测&#xff0c;旨在通过数学建模对宜昌地区的就业数据进行深入分析&#xff0c;并基于此预测就业状态。提供的数据涵盖了被调查者的个人信息、就业信息、失业信息…...

关于三防漆清除剂

成分及原理 主要成分&#xff1a;通常包含有机溶剂&#xff0c;如丙酮、甲苯、二甲苯等&#xff0c;以及一些表面活性剂、缓蚀剂等添加剂。工作原理&#xff1a;有机溶剂能够溶解三防漆中的树脂等成分&#xff0c;使其失去粘性和附着性&#xff0c;从而可以被轻易地擦拭或冲洗…...

2025年MathorCup数学应用挑战赛【选题分析】

【25MathorCup选题分析】 &#x1f64b;‍♀&#x1f64b;‍♂数模加油站初步分析评估了此次竞赛题目&#xff1a; ✅A题&#xff1a;该题新颖性强&#xff0c;属于“算子学习深度学习几何建模”的交叉问题&#xff0c;涉及PINN、FNO、KAN等算子神经网络模型构建&#xff0c;任…...

在windows上交叉编译opencv供RK3588使用

环境 NDK r27、RK3588 安卓板子、Android 12 步骤操作要点1. NDK 下载选择 r27 版本&#xff0c;解压到无空格路径&#xff08;如 C:/ndk&#xff09;2. 环境变量配置添加 ANDROID_NDK_ROOT 和工具链路径到系统 PATH3. CMake 参数调整指定 ANDROID_NATIVE_API_LEVEL31、ANDRO…...

零基础玩转AI数学建模:从理论到实战

前言 数学建模作为连接数学理论与现实世界的桥梁&#xff0c;在科学研究、工程实践和商业决策等领域发挥着越来越重要的作用。随着人工智能技术的迅猛发展&#xff0c;以ChatGPT为代表的大语言模型为数学建模领域带来了革命性的变革。本书旨在帮助读者掌握这一变革带来的新机遇…...

IDEA 2025.1更新-AI助手试用和第三方模型集成方案

今天刚把 IntelliJ IDEA 更新到了 2025.1 版本&#xff0c;主要是想看看这次 AI Assistant 有什么新东西。之前看到消息说功能有更新&#xff0c;而且似乎可以免费试用&#xff0c;就动手试了试&#xff0c;顺便把过程和一些发现记录下来&#xff0c;给可能需要的朋友一个参考。…...

static关键字

思维导图&#xff1a; 在 Java 中&#xff0c;static 是一个非常重要的关键字&#xff0c;它可以用来修饰类的成员&#xff0c;包括变量、方法、代码块以及内部类。下面为你详细介绍 static 关键字的各种用法和特点。 一.修饰内部类 静态内部类&#xff1a;当 static 修饰内部类…...

gl-matrix 库简介

gl-matrix 库简介 gl-matrix 是一个高性能的 JavaScript 矩阵和向量库&#xff0c;专门为 WebGL 和其他 3D 图形应用设计。它提供了处理 2D、3D 和 4D 向量以及矩阵运算的高效方法。 主要特性 高性能&#xff1a;经过高度优化&#xff0c;执行速度快轻量级&#xff1a;体积小…...

Spring Boot 核心注解全解:@SpringBootApplication背后的三剑客

大家好呀&#xff01;&#x1f44b; 今天我们要聊一个超级重要的Spring Boot话题 - 那个神奇的主类注解SpringBootApplication&#xff01;很多小伙伴可能每天都在用Spring Boot开发项目&#xff0c;但你真的了解这个注解背后的秘密吗&#xff1f;&#x1f914; 别担心&#x…...

Android 音频架构全解析:从 AudioTrack 到 AudioFlinger

在开发音视频相关应用时&#xff0c;我们常会接触到 MediaPlayer、SoundPool、AudioTrack、OpenSL ES、AAudio、Oboe 等名词&#xff0c;它们都与 Android 的音频播放息息相关。然而&#xff0c;真正理解它们之间的关系以及背后运行机制&#xff0c;才能写出高性能、低延迟的音…...

【教程】无视硬件限制强制升级Windows 11

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 1、下载升级工具&#xff1a;https://github.com/builtbybel/Flyby11/releases 2、解压后打开软件&#xff1a; 3、拖入win11.iso或者自动下载&#xf…...

ICPR-2025 | 让机器人在未知环境中 “听懂” 指令精准导航!VLTNet:基于视觉语言推理的零样本目标导航

作者&#xff1a;Congcong Wen, Yisiyuan Huang, Hao Huang ,Yanjia Huang, Shuaihang Yuan, YuHao, HuiLin and Yi Fang 单位&#xff1a;纽约大学阿布扎比分校具身人工智能与机器人实验室&#xff0c;纽约大学阿布扎比分校人工智能与机器人中心&#xff0c;纽约大学坦登工程…...

替代升级VMware | 云轴科技ZStack构建山西证券一云多芯云平台

通过云轴科技ZStack Cloud云平台&#xff0c;山西证券打造了敏捷部署、简单运维的云平台&#xff0c;不仅兼容x86、海光、鲲鹏三种异构服务器实现一云多芯&#xff0c;还通过云平台虚拟化纳管模块纳管原有VMware虚拟化资源&#xff0c;并对接第三方集中式存储&#xff0c;在保护…...

Houdini python code:参数指定文件路径

创建null节点并命名为control并增加filedir参数 创建python节点 node hou.pwd() geo node.geometry()node hou.node(/obj/output_tetgen/control) filedir node.parm(filedir).eval() print("filedir:",filedir)得到输出...

ChatGPT-o3辅助学术写作的关键词和引言效果如何?

目录 关键词 引言 论文引言&#xff08;≈300 字&#xff09; 大家好这里是AIWritePaper官方账号&#xff0c;官网&#x1f449;AIWritePaper~ 关键词 摘要是文章的精华&#xff0c;通常在200-250词左右。要包括研究的目的、方法、结果和结论。让AI工具作为某领域内资深的研…...

树莓派5+Vosk+python实现语音识别

简介 Vosk是语音识别开源框架&#xff0c;支持二十种语言 - 中文&#xff0c;英语&#xff0c;印度英语&#xff0c;德语&#xff0c;法语&#xff0c;西班牙语&#xff0c;葡萄牙语&#xff0c;俄语&#xff0c;土耳其语&#xff0c;越南语&#xff0c;意大利语&#xff0c;荷…...

Selenium之 CSS 选择器详细讲解

Selenium之 CSS 选择器详细讲解 引言 在.Selenium.自动化测试中&#xff0c;元素定位是至关重要的一环。而.CSS.选择器作为一种强大且灵活的定位工具&#xff0c;在.Selenium.中得到了广泛的应用。本文将详细介绍.CSS.选择器的基本语法、常用类型以及如何在.Selenium.中高效地…...

【LeetCode】大厂面试算法真题回忆(61)--组装新的数组

题目描述 给你一个整数M和数组N,N中的元素为连续整数,要求根据N中的元素组装成新的数组R,组装规则: R中元素总和加起来等于M。R中的元素可以从N中重复选取。R中的元素最多只能有1个不在N中,且比N中的数字都要小(不能为负数)。请输出:数组R一共有多少组装办法。 输入描…...

基于用户的协同过滤推荐系统实战项目

文章目录 基于用户的协同过滤推荐系统实战项目1. 推荐系统基础理论1.1 协同过滤概述1.2 基于用户的协同过滤原理1.3 相似度计算方法1.3.1 余弦相似度(Cosine Similarity)1.3.2 皮尔逊相关系数(Pearson Correlation)1.3.3 欧几里得距离(Euclidean Distance)1.3.4 调整余弦相似度…...