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

在macOS上安装MySQL

macOS的MySQL有多种不同的形式:

1、本机包安装程序,它使用本机macOS安装程序(DMG)引导您完成MySQL的安装。有关详细信息,请参阅第2.4.2节,“使用本机包在macOS上安装MySQL”。您可以将包安装程序与macOS一起使用。用于执行安装的用户必须具有管理员权限。

2、压缩tar文件,它是使用Unixtar和gzip命令打包的文件。要使用此方法,您需要打开一个终端窗口。使用此方法不需要管理员权限;您可以使用此方法在任何地方安装MySQL服务器。

在macOS上安装MySQL的一般注意事项

您应该牢记以下问题和注意事项:

1、其他 MySQL 安装:本安装程序无法识别通过包管理器(如 Homebrew)安装的 MySQL。此安装和升级过程仅适用于我们提供的 MySQL 包。如果存在其他 MySQL 安装,请在执行此安装程序之前考虑停止它们,以避免端口冲突。

Homebrew :例如,如果你使用 Homebrew 将 MySQL Server 安装到了默认位置,那么官方的 MySQL 安装程序会将其安装到不同的位置,并且不会升级通过 Homebrew 安装的版本。在这种情况下,你会最终拥有多个 MySQL 安装,默认情况下它们会尝试使用相同的端口。在运行官方安装程序之前,请停止其他 MySQL Server 实例,例如通过执行 brew services stop mysql 来停止 Homebrew 的 MySQL 服务。

2、Launchd:启动守护进程
一个 launchd 守护进程已安装,它会修改 MySQL 的配置选项。如果需要,建议你编辑该守护进程的配置文件。有关更多信息,请参阅下方的文档。此外,macOS 10.10 及之后的版本移除了对传统启动项的支持,转而使用 launchd 守护进程来管理服务。macOS 系统偏好设置中的可选 MySQL 面板也依赖于 launchd 守护进程。

3、用户:您可能需要(或想要)创建一个特定的mysql用户来拥有MySQL目录和数据。您可以通过目录实用程序来执行此操作,并且mysql用户应该已经存在。对于单用户态,_mysql(注意下划线前缀)的条目应该已经存在于系统/etc/passwd文件中。

4、数据:因为MySQL安装程序将MySQL内容安装到特定于版本和平台的目录中,您可以使用它在版本之间升级和迁移数据库。您需要将data目录从旧版本复制到新版本,或者指定一个替代的datadir值来设置数据目录的位置。默认情况下,MySQL目录安装在/usr/local/下。

5、别名:您可能希望将别名添加到shell的资源文件中,以便更容易从命令行访问常用的程序,如mysql和mysqladmin。bash的语法是:

alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin

对于tcsh,使用:

alias mysql /usr/local/mysql/bin/mysql
alias mysqladmin /usr/local/mysql/bin/mysqladmin

更好的是,将/usr/local/mysql/bin添加到您的PATH环境变量中。您可以通过修改shell的适当启动文件来做到这一点。

6、删除:从以前的安装中复制MySQL数据库文件并成功启动新服务器后,您应该考虑删除旧的安装文件以节省磁盘空间。此外,您还应该删除/Library/Receipts/mysql-VERSION.pkg中的旧版本的包收据目录。

使用本机包在macOS上安装MySQL

包位于磁盘图像(.dmg)文件中,您首先需要通过双击Finder中的图标挂载该文件。然后它应该挂载镜像并显示其内容。在继续安装之前,请务必使用MySQL管理器应用程序(在macOS服务器上)、首选项窗格或命令行上的mysqladmin关闭来停止所有正在运行的MySQL服务器实例。

要使用包安装程序安装MySQL步骤:

1、下载包含MySQL包安装程序的磁盘镜像(.dmg)文件。双击该文件以挂载磁盘映射文件并查看其内容。双击磁盘中的MySQL安装程序包。它是根据您下载的MySQL版本命名的。例如,对于MySQL服务器8.4.3它可能被命名为mysql-8.4.3-macos-10.13-x86_64.pkg

2、初始向导引导您要安装的MySQL服务器版本。单击继续开始安装。MySQL社区版显示相关GNU通用公共许可证的副本。单击继续,然后单击同意继续。

3、在Installation Type页面中,您可以单击Install以使用所有默认值执行安装向导,单击Customize以更改要安装的组件(MySQL服务器、MySQL测试、首选项窗格、Launchd支持-除默认启用MySQL测试之外的所有组件)。尽管更改安装位置选项可见,但无法更改安装位置。

图2.5MySQL包安装向导:自定义

4、单击install按钮以开始安装MySQL服务器。如果升级当前MySQL服务器安装,安装过程将在此结束,否则按照向导的其他配置步骤安装新的MySQL服务器。

5、成功安装新MySQL服务器后,通过定义root密码并在启动时启用(或禁用)MySQL服务器来完成配置。

6、设置 root 用户密码并配置 MySQL 服务器是否在配置完成后自动启动

7、在 MySQL Server 安装完成后,概述(Summary) 是安装向导的最后一步。这一步确认了 MySQL Server 已成功安装并配置完毕。点击Close按钮关闭此向导

MySQL服务器现已安装完成。如果安装时您选择了不启动MySQL,则可以使用命令行中的Launchctl或通过使用MySQL首选项窗口中单击“开始”来启动MySQL。

在使用包安装程序进行安装时,文件会被安装到 /usr/local 目录下的一个与安装版本和平台名称相匹配的目录中。例如,安装文件 mysql-8.4.3-macos10.15-x86_64.dmg 会将 MySQL 安装到 /usr/local/mysql-8.4.3-macos10.15-x86_64/ 目录,并创建一个指向 /usr/local/mysql 的符号链接。下表展示了该 MySQL 安装目录的布局。macOS安装过程不会创建或安装示例my.cnf MySQL配置文件。

表2.6MySQLmacOS上的安装布局

目录目录的内容
binmysqld服务器,客户端和实用程序
data日志文件,数据库,其中/usr/local/mysql/data/mysqld.local.err是默认的错误日志
docs帮助文档,如发行说明和构建信息
include包含(表头)文件
lib
manUnix手册页
mysql-testMySQL测试套件(使用安装程序包(DMG)时,“MySQL测试”在安装过程中默认禁用)
share其他支持文件,包括错误消息,dictionary.txt和重写SQL
support-files支持脚本,如mysqld_multi.servermysql.servermysql-log-rotate.
/tmp/mysql.sockLocation of the MySQL Unix socket

安装和使用MySQL启动守护程序

macOS使用启动守护进程来自动启动、停止和管理进程和应用程序,例如MySQL。

默认情况下,macOS上的安装包(DMG)会安装一个名为/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist的启动文件,其中包含类似于以下内容的plist定义:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict><key>Label</key>             <string>com.oracle.oss.mysql.mysqld</string><key>ProcessType</key>       <string>Interactive</string><key>Disabled</key>          <false/><key>RunAtLoad</key>         <true/><key>KeepAlive</key>         <true/><key>SessionCreate</key>     <true/><key>LaunchOnlyOnce</key>    <false/><key>UserName</key>          <string>_mysql</string><key>GroupName</key>         <string>_mysql</string><key>ExitTimeOut</key>       <integer>600</integer><key>Program</key>           <string>/usr/local/mysql/bin/mysqld</string><key>ProgramArguments</key><array><string>/usr/local/mysql/bin/mysqld</string><string>--user=_mysql</string><string>--basedir=/usr/local/mysql</string><string>--datadir=/usr/local/mysql/data</string><string>--plugin-dir=/usr/local/mysql/lib/plugin</string><string>--log-error=/usr/local/mysql/data/mysqld.local.err</string><string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string><string>--keyring-file-data=/usr/local/mysql/keyring/keyring</string><string>--early-plugin-load=keyring_okv=keyring_okv.so</string></array><key>WorkingDirectory</key>  <string>/usr/local/mysql</string>
</dict>
</plist>

一些用户报告说,添加plist DOCTYPE声明会导致Launchd操作失败,尽管它通过了lint检查。我们怀疑这是一个n-粘贴错误。包含上述片段的文件的md5校验和d925f05f6d1b6ee5ce5451b596d6baed。

要启用启动服务,您可以:

1、打开macOS系统首选项并选择MySQL首选项面板,然后执行启动MySQL服务器。

图2.6MySQL首选项窗格:位置

[实例]页面包含启动或停止MySQL的选项,初始化数据库重新创建data/目录。[卸载]卸载MySQL服务器和可选的MySQL首选项面板和启动信息。

图2.7MySQL首选项窗格:实例

 2、或者,手动加载启动文件。

$> cd /Library/LaunchDaemons
$> sudo launchctl load -F com.oracle.oss.mysql.mysqld.plist

升级过程将替换现有的名为com.oracle.oss.mysql.mysqld.plist的启动文件。

附加启动相关信息:

1、plist条目覆盖my.cnf条目,因为它们作为命令行参数传入。

2、在ProgramArguments部分定义了传递到程序中的命令行选项,在本例中是mysqld二进制文件。

3、默认的plist定义是在考虑不太复杂的用例的情况下编写的。对于更复杂的设置,您可能希望删除一些参数,而是依靠MySQL配置文件,例如my.cnf

4、如果编辑plist文件,请在重新安装或升级MySQL时取消选中安装程序选项。否则,您编辑的plist文件将被覆盖,所有编辑都将丢失。

因为默认plist定义定义了几个ProgramArguments,所以您可以删除这些参数中的大部分,而是依靠您的my.cnfMySQL配置文件来定义它们。例如:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict><key>Label</key>             <string>com.oracle.oss.mysql.mysqld</string><key>ProcessType</key>       <string>Interactive</string><key>Disabled</key>          <false/><key>RunAtLoad</key>         <true/><key>KeepAlive</key>         <true/><key>SessionCreate</key>     <true/><key>LaunchOnlyOnce</key>    <false/><key>UserName</key>          <string>_mysql</string><key>GroupName</key>         <string>_mysql</string><key>ExitTimeOut</key>       <integer>600</integer><key>Program</key>           <string>/usr/local/mysql/bin/mysqld</string><key>ProgramArguments</key><array><string>/usr/local/mysql/bin/mysqld</string><string>--user=_mysql</string><string>--basedir=/usr/local/mysql</string><string>--datadir=/usr/local/mysql/data</string><string>--plugin-dir=/usr/local/mysql/lib/plugin</string><string>--log-error=/usr/local/mysql/data/mysqld.local.err</string><string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string><string>--keyring-file-data=/usr/local/mysql/keyring/keyring</string><string>--early-plugin-load=keyring_okv=keyring_okv.so</string></array><key>WorkingDirectory</key>  <string>/usr/local/mysql</string>
</dict>
</plist>

在这种情况下,basedir、datadir、plugin_dir、log_error、pid_file和--early-plugin-load选项已从默认的plistProgramArguments定义中删除,您可以在my. cnf中定义他们。

安装和使用MySQL首选项窗口

MySQL安装包包括一个MySQL首选项窗口,使您能够在MySQL安装启动期间启动、停止和控制自动启动。

此首选项窗口是默认安装的,列在系统的系统首选项窗口下。

图2.8MySQL首选项窗格:位置

MySQL首选项窗格与安装MySQL服务器的DMG文件一起安装。通常它与MySQL服务器一起安装,但它也可以自行安装。

要安装MySQL首选项窗格:

1、完成安装MySQL服务器的过程

2、单击安装类型步骤中的自定义。此处列出了“首选项窗格”选项并默认启用;确保它没有被取消选择。可以选择或取消选择其他选项,例如MySQL服务器。

图2.9MySQL包安装向导:自定义

3、完成安装过程。MySQL首选项窗格仅启动和停止MySQL从已安装在默认位置的MySQL包安装安装的安装。

安装MySQL首选项窗格后,您可以使用此首选项窗格控制MySQL服务器实例。

[实例]页面包含启动或停止MySQL的选项,初始化数据库重新创建data/目录。[卸载]卸载MySQL服务器和可选的MySQL首选项面板和启动信息。

图2.10MySQL首选项窗格:实例

配置页面显示MySQL服务器选项,包括MySQL配置文件的路径。

图2.11MySQL首选项窗格:配置

MySQL首选项窗格显示MySQL服务器的当前状态,如果服务器没有运行,则显示已停止(红色),如果服务器已经启动,则显示正在运行(绿色)。首选项窗格还显示MySQL服务器是否已设置为自动启动的当前设置。

相关文章:

在macOS上安装MySQL

macOS的MySQL有多种不同的形式&#xff1a; 1、本机包安装程序&#xff0c;它使用本机macOS安装程序&#xff08;DMG&#xff09;引导您完成MySQL的安装。有关详细信息&#xff0c;请参阅第2.4.2节&#xff0c;“使用本机包在macOS上安装MySQL”。您可以将包安装程序与macOS一…...

使用vue项目中,使用webpack模板和直接用vue.config来配置相关插件 区别是什么,具体有哪些提现呢

在 Vue 项目中&#xff0c;使用 Webpack 模板 和 vue.config.js 来配置相关插件的主要区别在于配置的复杂度、灵活性和易用性。以下是两者的详细对比&#xff1a; 1. Webpack 模板 Webpack 模板是 Vue CLI 早期版本&#xff08;如 Vue CLI 2.x&#xff09;中提供的项目初始化模…...

ansible-性能优化

一. 简述&#xff1a; 搞过运维自动化工具的人&#xff0c;肯定会发现很多运维伙伴们经常用saltstack和ansible做比较&#xff0c;单从执行效率上来说&#xff0c;ansible确实比不上saltstack(ansible使用的是ssh,salt使用的是zeromq消息队列[暂没深入了解])&#xff0c;但其实…...

Nginx:认证与授权

认证(Authentication)和授权(Authorization)是确保 Web 应用安全的重要机制。Nginx 提供了多种方式来实现这些功能,以保护资源免受未授权访问。 认证(Authentication):验证用户的身份,确认请求来自合法用户。通常涉及用户名和密码、令牌或其他形式的身份验证。授权(A…...

【项目实战1】五子棋游戏

目录 C语言编程实现五子棋&#xff1a;&#xff1a; game.h game.c 1.打印菜单 2.打印棋盘 3.玩家下棋 4.判断五子连珠 5.判断输赢 6.游戏运行 game.c完整源代码展示 test.c C语言编程实现五子棋&#xff1a;&#xff1a; game.h #pragma once #include<stdio.h> …...

【VUE】a链接下载跨域文件直接打开而非下载(解决办法)

背景&#xff1a;a链接下载跨域文件时&#xff0c;浏览器默认会打开文件&#xff0c;而非直接下载 <a :href"url" :download"fileName">下载</a>data() {return {url: http://xxxxx.mp4,fileName: xxxxx.mp4} }解决方式 服务器设置HTTP请求头…...

消息队列RabbitMQ

目录 为什么需要消息队列? 什么是消息队列&#xff1f; 如何技术选型&#xff1f; WorkQueues模型 Fanout交换机 Direct交换机 Topic交换机 声明队列交换机 消息转换器 消息可靠性问题 1.发送者的可靠性 生产者重连 生产者确认 Spring AMQP生产者消费确认…...

Windows11环境下设置MySQL8字符集utf8mb4_unicode_ci

1.关闭MySQL8的服务CTRLshiftESC&#xff0c;找到MySQL关闭服务即可 2.找到配置文件路径&#xff08;msi版本默认&#xff09; C:\ProgramData\MySQL\MySQL Server 8.0 3.使用管理员权限编辑my.ini文件并保存 # Other default tuning values # MySQL Server Instance Config…...

css出现边框

前言 正常情况下&#xff0c;开启 contenteditable 属性后会出现 “黑色边框”。 如下图所示&#xff0c;很影响美观&#xff1a; 您可能想去掉它&#xff0c;就像下面这样&#xff1a; 解决方案 通过选择器&#xff0c;将 focus 聚焦时移除 outline 属性即可。 如下代码所示&a…...

Qt QDockWidget详解以及例程

Qt QDockWidget详解以及例程 引言一、基本用法二、深入了解2.1 窗口功能相关2.2 停靠区域限制2.3 在主窗体布局 引言 QDockWidget类提供了一个可以停靠在QMainWindow内的小窗口 (理论上可以在QMainWindow中任意排列)&#xff0c;也可以作为QMainWindow上的顶级窗口浮动 (类似一…...

node.js内置模块之---stream 模块

stream 模块的作用 在 Node.js 中&#xff0c;stream 模块是一个用于处理流&#xff08;stream&#xff09;的核心模块。流是一种处理数据的抽象方式&#xff0c;允许程序处理大量数据时不会一次性将所有数据加载到内存中&#xff0c;从而提高性能和内存效率。通过流&#xff0…...

EdgeX规则引擎eKuiper

EdgeX 规则引擎eKuiper 一、架构设计 LF Edge eKuiper 是物联网数据分析和流式计算引擎。它是一个通用的边缘计算服务或中间件,为资源有限的边缘网关或设备而设计。 eKuiper 采用 Go 语言编写,其架构如下图所示: eKuiper 是 Golang 实现的轻量级物联网边缘分析、流式处理开源…...

SpringBoot | 基于 MyBatis 的分页与模糊查询的开发模板

关注&#xff1a;CodingTechWork 引言 在开发 Web 应用时&#xff0c;常常需要处理复杂的查询需求&#xff0c;尤其是在涉及到用户管理功能时&#xff0c;分页查询和模糊查询是常见的需求之一。  本文将通过一个具体的示例&#xff0c;展示如何使用 MyBatis实现分页和模糊查…...

数据库(3)--针对列的CRUD操作

1.Create 新增 语法&#xff1a; insert into 表名 &#xff08;列名&#xff09;values &#xff08;列&#xff09;... 创建一个学生表用于演示&#xff1a; create table if not exists student( id bigint comment 编号, name varchar(20) comment 姓名 ); 1.1直接增加…...

利用Java爬取1688商品详情API接口:技术与应用指南

引言 1688作为中国领先的B2B电子商务平台&#xff0c;拥有海量的商品信息。对于商家和市场研究人员来说&#xff0c;能够从1688获取商品详情信息&#xff0c;对于市场分析、竞品研究等具有重要价值。本文将详细介绍如何使用Java编写爬虫程序&#xff0c;以合法、高效的方式获取…...

安装vue脚手架出现的一系列问题

安装vue脚手架出现的一系列问题 前言使用 npm 安装 vue/cli2.权限问题及解决方法一&#xff1a;可以使用管理员权限进行安装。方法二&#xff1a;更改npm全局安装路径 前言 由于已有较长时间未进行 vue 项目开发&#xff0c;今日着手准备开发一个新的 vue 项目时&#xff0c;在…...

git命令收集

强制丢弃所有修改&#xff0c;和仓库代码一致 git reset --hard 更新子模块 git submodule update每个子模块 重置到最新节点 git submodule foreach --recursive git reset --hard清除每个子模块未跟踪的文件 git submodule foreach --recursive git clean -fd清理未跟踪的…...

IDEA中Maven依赖包导入失败报红的潜在原因

在上网试了别人的八个问题总结之后依然没有解决&#xff1a; IDEA中Maven依赖包导入失败报红问题总结最有效8种解决方案_idea导入依赖还是报红-CSDN博客https://blog.csdn.net/qq_43705131/article/details/106165960 江郎才尽之后突然想到一个原因&#xff1a;<dep…...

c/c++ 里的进程间通信 , 管道 pipe 编程举例

&#xff08;1&#xff09;以下是一个网上的使用 pipe 编程的范例&#xff1a; #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <sys/wait.h>int main() {int pipefd…...

【Java】JVM内存相关笔记

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途&#xff0c;以及创建和销毁的时间&#xff0c;有的区域随着虚拟机进程的启动而一直存在&#xff0c;有些区域则是依赖用户线程的启动和结束而建立和销毁。 程序计数器&am…...

[项目实战2]贪吃蛇游戏

目录 贪吃蛇游戏&#xff1a;&#xff1a; 一、游戏效果及功能实现&#xff1a; 1.规则 ​​​​​​​ ​​​​​​​ ​​​​​​​ 2.基本功能实现 ​​​​​​​ ​​​​​​​ ​​​​​​​ 3.技术要点 ​​​​​​​…...

PySide6的样式表

PySide6 提供了对 Qt 样式表&#xff08;Qt Style Sheets&#xff0c;简称 QSS&#xff09;的支持&#xff0c;这是一种类似于 CSS 的样式表语言&#xff0c;用于自定义 Qt 应用程序的外观。 1. 什么是 Qt 样式表&#xff08;QSS&#xff09; Qt 样式表是一种声明性的样式表语…...

计算机网络之---局域网

什么叫局域网 局域网&#xff08;LAN&#xff0c;Local Area Network&#xff09; 是指在一个相对较小的区域内&#xff0c;如家庭、办公室、学校、企业等&#xff0c;连接多个计算机和设备的网络。局域网的特点是覆盖范围小、传输速度快、构建成本较低。 局域网的主要特点&…...

使用 uniapp 开发微信小程序遇到的坑

0. 每次修改代码时&#xff0c;都会触发微信开发工具重新编译 终极大坑&#xff0c;暂未找到解决方案 1. input 无法聚焦问题 问题&#xff1a;在小程序开发工具中&#xff0c;input 会突然无法聚焦&#xff0c;重启也不行。但是真机调试可以正常聚焦。 解决办法&#xff1a…...

基于 GEE Sentinel-1 数据集提取水体

目录 1 水体提取原理 2 完整代码 3 运行结果 1 水体提取原理 水体提取是地理信息和遥感技术的关键应用之一&#xff0c;对于多个领域都具有重要的应用价值。它有助于更好地管理水资源&#xff0c;保护环境&#xff0c;减少灾害风险&#xff0c;促进可持续发展&#xff0c;以…...

2025-01-07 Unity 使用 Tip3 —— 游戏保存数据到 Application.persistentDataPath 不生效解决方案更新

文章目录 1 问题描述2 老版解决方案&#xff08;测试可行&#xff09;2.1 创建 js 脚本2.2 添加 js 引用 3 新版解决方案&#xff08;测试不可行&#xff09;4 实际问题 ​ WebGL 平台限制了文件访问系统&#xff0c;在 Unity 以前版本中&#xff0c;开发者想要在 WebGL 上保存…...

关于重构一点简单想法

关于重构一点简单想法 当前工作的组内&#xff0c;由于业务开启的时间正好处于集团php-》go技术栈全面迁移的时间点&#xff0c;组内语言技术栈存在&#xff1a;php、go两套。 因此需求开发过程中通常要考虑两套技术栈的逻辑&#xff0c;一些基础的逻辑也没有办法复用。 在这…...

使用 `llama_index` 构建智能问答系统:多种文档切片方法的评估

使用 llama_index 构建智能问答系统&#xff1a;多种文档切片方法的评估 代码优化与解析1. **代码结构优化**2. **日志管理**3. **环境变量管理**4. **模型初始化**5. **提示模板更新**6. **问答函数优化**7. **索引构建与查询引擎**8. **节点解析器测试** 总结 在现代自然语言…...

Vue3 内置组件之KeepAlive

文章目录 Vue3 内置组件之KeepAlive概述用法简单使用include & excludemax Vue3 内置组件之KeepAlive 概述 <KeepAlive> 是一个内置组件&#xff0c;它的功能是在多个组件间动态切换时缓存被移除的组件实例。 组件在加载时会经历初始、挂载、更新、销毁生命周期&a…...

生物医学信号处理--绪论

前言 参考书籍&#xff1a;刘海龙&#xff0c;生物医学信号处理&#xff0c;化学工业出版社 生物医学信号分类 1、由生理过程自发或者诱发产生的电生理信号和非电生理信号 • 电生理信号&#xff1a;ECG/心电、EEG/脑电、EMG/肌电、 EGG/胃电、 EOG/眼电 • 非电生理信号&am…...

30天开发操作系统 第 12 天 -- 定时器

前言 定时器(Timer)对于操作系统非常重要。它在原理上却很简单&#xff0c;只是每隔一段时间(比如0.01秒)就发送一个中断信号给CPU。幸亏有了定时器&#xff0c;CPU才不用辛苦地去计量时间。……如果没有定时器会怎么样呢?让我们想象一下吧。 假如CPU看不到定时器而仍想计量时…...

android 启动页倒计时页面编写

一、需求和技术 1、实现5,4,3,2,1启动页倒计时 2、倒计时实现使用CountDownTimer 二、activity代码 public class OpenActivity extends AppCompatActivity {private Button in;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanc…...

Win10和11 git/Android Studio遇到filename too long问题的解决

1、打开windows长文件、长路径支持&#xff1a; 可以参考这篇文章&#xff1a; 修改注册表方法&#xff1a; 使用Admin登陆machine&#xff0c;在run中输入regedit并回车&#xff1b; 找到路径 ’Computer -> HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -&g…...

OpenCV相机标定与3D重建(43)用于计算矫正和重映射的变换函数initUndistortRectifyMap()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 计算畸变矫正和校正变换映射。 该函数计算联合的畸变矫正和校正变换&#xff0c;并以 remap 所需的地图形式表示结果。矫正后的图像看起来像是原…...

运行npm install 时,卡在sill idealTree buildDeps没有反应

运行npm install 时&#xff0c;卡在sill idealTree buildDeps没有反应 原因&#xff1a; 淘宝镜像源的域名早已经过期&#xff0c;所以我们需要绑定新的镜像源。 2021 年&#xff0c;淘宝就发布了消息称&#xff0c;npm 淘宝镜像已经从 registry.npm.taobao.org 切换到了 re…...

与 Oracle Dataguard 相关的进程及作用分析

与 Oracle Dataguard 相关的进程及作用分析 目录 与 Oracle Dataguard 相关的进程及作用分析与 Oracle Dataguard 相关的进程及作用分析一、主库的进程1、LGWR 进程2、ARCH进程3、LNS 进程 二、备库的进程1、RFS 进程2、ARCH3、MRP&#xff08;Managed Recovery Process&#x…...

如何在Windows上编译OpenCV4.7.0

前言 ​ 参考&#xff1a;Win10 下编译 OpenCV 4.7.0详细全过程&#xff0c;包含xfeatures2d 这里在其基础上还出现了一些问题&#xff0c;仅供参考。 正文 一、环境 1、win10 2、cmake-gui 3、opencv4.7.0 4、VS2019 二、编译过程 1、下载需要的文件&#xff1a; 通…...

get和post有什么区别

GET和POST是HTTP协议中两种常用的请求方法&#xff0c;它们在用途、参数传递方式、缓存处理、安全性等方面存在显著差异。 以下是对GET和POST区别的详细讲解&#xff0c;并给出示例演示。 一、GET和POST的区别 用途 GET&#xff1a;主要用于获取信息&#xff0c;即进行查询操…...

STM32之CAN通讯(十一)

STM32F407 系列文章 - CAN通讯&#xff08;十一&#xff09; 目录 前言 一、CAN 二、CAN驱动电路 三、CAN软件设计 1.CAN状态初始化 2.头文件相关定义 3.接收中断服务函数 4.用户层使用 1.用户层相关定义 2.发送数据 3.接收数据 1.查询方式处理 2.中断方式处理 3…...

23.行号没有了怎么办 滚动条没有了怎么办 C#例子

新建了一个C#项目&#xff0c;发现行号没有了。 想把行号调出来&#xff0c;打开项目&#xff0c;选择工具>选项> 如下图&#xff0c;在文本编辑器的C#里有一个行号&#xff0c;打开就可以了 滚动条在这里&#xff1a;...

QT 下拉菜单设置参数 起始端口/结束端口/线程数量 端口扫描4

上篇文章QT实现 端口扫描暂停和继续功能 3-CSDN博客 双击 添加对话框类 界面设计 由于主体代码已经写完&#xff0c;只需要更改参数的获取即可 获取起始端口结束端口的输入 槽函数 给主界面类添加调用对话框类的功能 实现功能&#xff1a;点击菜单项可以弹出对话框窗体 增加槽…...

spark——RDD算子集合

目录 算子转换算子示例mapflatMapReduceByKeyfilterdistinctglomgroupBygroupByKeySortBysortByKeyunion交集intersection和差集subtractjoinpartitionBymapPartitionsample 行动算子示例ForeachPartitionForeachSaveAsTextFileCountByKeyReducefoldfirst、take、counttop、tak…...

【ArcGIS Pro二次开发实例教程】(1):图层的前置、后置

一、简介 此工具要实现的功能是&#xff1a;将内容框中当前选定的图层移到最顶层或最底层。 主要技术要点包括&#xff1a; 1、Config.daml文件设置&#xff08;UI设置&#xff09; 2、按钮的图片和位置设置 3、当前选定图层的获取 4、图层在内容列表中位置的获取和移动 …...

idea 运行 docker-compose 文件问题

我idea 连接远程docker 然后本地运行compose 文件出了问题 C:\Program Files\Docker\Docker\resources\bin\docker.exe compose -f D:\aproject\group-buy-market\suger_group_buy\docs\dev-ops\docker-compose-environment.yml -p dev-ops up -d正在准备 Docker SSH 环境…ti…...

深度学习中的正则化方法

最近看到了正则化的内容&#xff0c;发现自己对正则化的理解已经忘得差不多了&#xff0c;这里在整理一下&#xff0c;方便以后查阅。 深度学习中的正则化方法 1. L2 正则化&#xff08;L2 Regularization&#xff09;2. L1 正则化&#xff08;L1 Regularization&#xff09;3.…...

LInux单机安装Redis

1. 安装gee工具包 由于Redis是基于c语言编写的所以安装的时候需要先安装gee以及gcc的依赖,yum云用不了可以看一下这个 linux 替换yum源镜像_更换yum镜像源-CSDN博客 yum install -y gcc tcl 2. 添加redis的压缩包 3. 上传到Linux 上传到 /usr/local/src 目录、这个目录一般用于…...

kafka使用以及基于zookeeper集群搭建集群环境

一、环境介绍 zookeeper下载地址&#xff1a;https://zookeeper.apache.org/releases.html kafka下载地址&#xff1a;https://kafka.apache.org/downloads 192.168.142.129 apache-zookeeper-3.8.4-bin.tar.gz kafka_2.13-3.6.0.tgz 192.168.142.130 apache-zookee…...

深入理解 pytest_runtest_makereport:如何在 pytest 中自定义测试报告

pytest_runtest_makereport 是 pytest 系统中的一个钩子函数&#xff0c;它允许我们在测试执行时获取测试的报告信息。通过这个钩子&#xff0c;我们可以在测试运行时&#xff08;无论是成功、失败还是跳过&#xff09;对测试结果进一步处理&#xff0c;比如记录日志、添加自定…...

嵌入式技术之Linux(Ubuntu) 一

一、Linux入门 1.硬件和操作系统以及用户的关系 一个传感器&#xff0c;获得数据后&#xff0c;需要向服务器发送数据。传感器传数据给上位机。 上位机需要一个程序来接收数据&#xff0c;那么这个上位机是什么机器&#xff1f; 我们的笔记本电脑就可以当成上位机。 两个手…...

VB.NET CRC32 校验

在 VB.NET 中实现 CRC32 校验并在校验失败时退出程序&#xff0c;你可以按照以下步骤进行&#xff1a; ‌实现 CRC32 计算函数‌&#xff1a;首先&#xff0c;你需要一个函数来计算给定数据的 CRC32 值。 ‌比较计算的 CRC32 值‌&#xff1a;然后&#xff0c;你需要将计算出的…...