MySQL程序
目录
MySQL程序
常用的MySQL的程序
mysqld程序
mysql客户端
客户端命令的常用的选项
配置文件
配置文件语法
MySQL客户端命令
编辑 .sql 文件中执行SQL语句
mysqlcheck (表维护程序)
Mysqldump(数据库备份程序)
mysqladmin 服务器管理程序
mysqlshow (显示数据库、表和列的信息)
mysqldumpslow (总结慢查询日志文件)
mysqlbinlog (处理二进制日志文件)
mysqlslap (负载仿真客户端)
MySQL程序
MySQL服务器程序
- mysqld:MySQL服务器的守护进程,主要负责处理客户端的连接,执行SQL语句,管理数据库存储等
- 支持多种存储引擎,同时提供事务管理、并发控制等功能
- 后台自动启动,不需要手动运行
- mysqld_safe:mysqld的启动脚本,提供了对mysqld进程的监控和管理
- 自动重启崩溃的mysqld进程,提高服务器的可靠性
MySQL客户端程序
- mysql:客户端,主要用户连接MySQL服务器,执行SQL语句,同时管理数据库
- 支持交互式和批处理模式,提供丰富的命令行选项等
// 连接服务器
mysql -u username -p
// 执行SQL脚本
mysql -u username -p < script.sql
其余程序,参考下文笔记内容
常用的MySQL的程序
mysqld:
- 作用:MySQL 服务器的守护进程,MySQL 数据库的核心程序,必须在运行状态下才能提供服务。
mysql:
- 作用:MySQL 客户端程序,用于交互式地输入 SQL 语句或者批处理执行 SQL 文件的命令行工具。
mysqlcheck:
- 作用:用于检查、修复、分析和优化表的表维护客户端。
mysqldump:
- 作用:将 MySQL 数据库的内容转储为 SQL、文本或 XML 文件的客户端工具,常用于备份。
mysqlimport:
- 作用:将文本文件导入 MySQL 表的客户端工具,适合批量导入数据。
mysqladmin:
- 作用:执行数据库管理操作的客户端工具,可以用来创建或删除数据库、刷新权限、重新载入日志文件等,还可以用于检查 MySQL 服务器的状态和版本信息。
mysqlshow:
- 作用:显示数据库、表以及列和索引信息的客户端工具,帮助快速查看数据库结构。
mysqldumpslow:
- 作用:用于读取和汇总慢查询日志内容的实用程序,帮助分析系统中的慢查询。
mysqlbinlog:
- 作用:从二进制日志中读取 SQL 语句的实用程序,用于查看日志或恢复数据。
mysqlslap:
- 作用:MySQL 的负载测试工具,用来模拟多个客户端同时访问 MySQL 服务器,并输出每个阶段的使用时间,适用于性能测试。
mysqld程序
基本作用分析
mysqld是MySQL的主服务器进程,运行在后台,主要负责监听客户端连接的请求,主要用于处理所有的数据库操作,包括数据的读写、事务管理等。
mysqld支持运行在多种操作系统上,同时提供一致的功能和性能;与此同时,支持的多种数据库引擎
mysqld的启动和关闭
启动mysqld
- 直接执行mysqld,带上一些必要的选项
mysqld [选项]
关闭mysqld
- 可以直接使用mysqladmin工具,也可以通过发送信号对其进行关闭
mysqladmin -u root -p shutdownkill -TERM <mysqld进程ID>
mysqld 核心功能分析
- 连接管理:可以负责客户端连接,通过套接字编程、TCP或者命名管道接收客户端连接,同时为每个连接对应一个服务器线程,处理客户端的请求
- SQL请求处理:可以对查询的命令进行解析, 同时进行查询优化
- 事务管理:提供ACID特性,同时支持四种事务的隔离级别
- 存储引擎:其可以通过存储引擎API与不同的引擎进行交互
mysql客户端
连接数据库的方式(db_name:数据库名称)
// 长选项格式
mysql --user=user_name --password [数据库名]// 短选项格式
mysql -u user_name -p [数据库名]// 输入密码
客户端命令的常用的选项
连接相关选项
-h , --host:指定要连接的MySQL服务器主机名或者IP地址(如果不指定,则默认连接到本地主机,对于本地主机连接,MySQL则会尝试使用unix套接字或者的命名管道)
mysql -h 127.0.0.1 -u root -p
-p ,--port:指定MySQL服务器的端口号
mysql -h 192.168.1.100 -P 3306 -u user -p
-u , --user :指定连接MySQL服务器的用户名
mysql -u root -p
-p , --password:用于提示输入密码或者直接在命令行中提供密码
mysql -u root -p
--protocol :指定连接MySQL服务器所使用的协议类型(TCP/SOCKET/PIPE/MEMORY)
mysql --protocol=TCP -h localhost -u user -p
-S, --socket:用于指定套接字文件或者windows命名管道
mysql -S /var/lib/mysql/mysql.sock -u user -p
执行SQL语句与脚本
-e , --execute:直接在命令行中执行指定的SQL语句
mysql -u root -p -e "SHOW DATABASES;"
--init-command:在建立连接后立即执行指定的SQL语句
mysql -u user -p --init-command="SET NAMES utf8mb4"
--database , -D :使用默认使用的数据库
mysql -u user -p -D mydatabase
--ssl:启用SSL加密处理,确保客户端与服务端的通信是加密的
mysql -u user -p --ssl
输出格式和显示
-t,--table :将查询结果按照表格的形式显示
mysql -u user -p -t -e "SELECT * FROM users;"
-s , --silent:以安静模式输出,去除分隔符和标题
mysql -u user -p -s -e "SELECT * FROM users;"
-N , --skip-column-names:在结果中不显示列名
mysql -u user -p -N -e "SELECT * FROM users;"
--colum-type-info:显示查询结果中每一列的数据类型信息
mysql -u user -p --column-type-info -e "SELECT * FROM users;"
文件和日志
-E , --vertical :以垂直格式显示输出,每行显示一列
mysql -u user -p -E -e "SELECT * FROM users WHERE id=1;"
--tee:用于将所有的查询和结果同时输出到指定文件中
mysql -u user -p --tee=/path/to/logfile
--prompt:自定义MySQL客户端的提示符
mysql -u user -p --prompt="MySQL [\d]> "
其他常用选项
mysql -u user -p --comments
--help:显示帮助信息
mysql --help
--version , -V :显示MySQL客户端的版本信息
mysql --version
--compress:客户端和服务器之间使用压缩协议
mysql -u user -p --compress
--comments:启用或者禁用在查询中发送的注释内容
注意:如果选项中的值包含有空格的话,那么值需要包含在双引号中
命令行中使用选项的特殊注意点
- 选项后面使用单破折号 或者双破折号最终的效果类似
- 选项名称是区分大小写的,小写和大写都是合法,但是表示的含义不同
// 下面两个等价mysql --version --help
mysql -v -?// 下面两个等价mysql --version
mysql -V
- 某些选项是需要在后面指定一个数值的,例如在-h后面需要添加一个IP地址指定程序中的Mysql主机
mysql -h 127.0.0.1
mysql --host=127.0.0.1
- 带值的长格式选项,通常是使用=符号来分割选项的名称和数值;但是对于带值的短选项,则选项值可以紧跟在选项后,也可以使用空格隔开然后输入
//下面两者是等价的
mysql -p123456 //123456是密码
mysql -p 123456
- 在 MySQL 选项名称中,破折号(
-
)和下划线(_
)在大多数情况下可以互换使用。比如选项--skip-grant-tables
和--skip_grant_tables
是等价的,效果相同。不过需要注意的是,某些情况下破折号不能被替换为下划线(通常开头的--不可以更换) - 数值选项,如果数值后带有K则表示*1024,M G则是依次后推
// mysqladmin对服务器执行1024次ping,每次ping之间休眠3秒mysqladmin --count=1k --sleep=3 ping -uroot -p
- 命令行中的包含空格的选项值必须使用双引号引起来,--execute为例,连接到MySQL服务器的时候执行一条语句,但是不进入服务器的内部
mysql --execute="SQL语句"
mysql -e "SQL语句"
配置文件
使用方法
- --defaults-file中可以指定要使用的选项文件,客户端程序可以读取并应用选项文件的中的相关配置
- 分析conf.d 和 mysql.conf.d 文件夹中内容,前者是客户端配置文件,后者是服务端配置文件
- Windows系统中的配置文件后缀名为.ini 或者 .cnf
- Linux系统的中的配置文件后缀名为 .cnf
读取配置文件优先级问题分析
- --defaults-extra-file是用来提供额外的位置文件的,不会影响其他默认的配置文件
- 上述的选项是全部的配置文件都会被加载,而下述的则是只有指定的配置文件会被加载
配置文件语法
配置文件的基本方法(文件在/etc/my.cnf中)
选项文件中指定选项的时候,省略两个前导破折号,并且每一个行表示一个选项
省略两个前破折号(命令行选项和配置文件选项)
- 命令行选项,使用MySQL命令行工具的时候,选项通常是以--开头,但是配置文件中不需要直接写破折号,而是直接写选项名称
// 命令行选项
mysqld --port=3306 --datadir=/var/lib/mysql
mysql --user=root --password
// 配置文件选项[mysqld]
port=3306
datadir=/var/lib/mysql[client]
user=root
password=your_password
配置文件的基本语法
基本组成
- 配置组:以方括号[ ]包围的名称,用于表示一组相关的配置选项
- 配置选项:以option_name = value的形式来指定
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock[mysqld]
port = 3306
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
配置组的使用
- [ mysqld ]:用于MySQL服务器守护进程
- [ client ]:所有MySQL客户端的通用设置
- [ mysql ]:用于MySQL命令行客户端特定设置
- [ mysqld_safe ]:用于mysqld_safe启动脚本设置
[client]
user = root
password = mypassword[mysql]
prompt = "\\u@\\h [\\d]> "
注释的使用方法
- 使用注释符号 # 或者 ;
# This is a comment
; This is also a comment
[mysqld]
# Set the default storage engine
default_storage_engine = InnoDB
包含其他配置文件
- !include指令:包含指定的配置文件
- !includedir指令:包含指定目录下的所有配置文件
[mysqld]
!include /etc/mysql/mysql.conf.d/mysqld.cnf
!includedir /etc/mysql/conf.d/
配置文件的解析顺序
- 全局配置文件:先解析/etc/my.cnf等全局配置文件
- 用户配置文件:然后解析用户等级的配置文件
- 优先级:后面解析的配置文件中的选项会覆盖之前的设置
MySQL客户端命令
命令总览
结束标识符:; 和 \g 和 \G(行显示)
查看服务器状态(status)
connect 客户端命令
重新指定SQL语句的结束标识符
退出命令:exit 和 quit命令
tee(\T)指定查询结果放在哪个路径下,类似于日志的功能
prompt:修改输入命令的提示符
数据库执行系统级别命令 system
.sql 文件中执行SQL语句
使用source命令导入
具体使用场景在于开发环境--测试环境---生产环境,例如是把一个数据库从服务器A复制到服务器B中,那么可以先从服务器A导出数据到.sql文件,然后在服务器器B中执行该文件即可
该命令主要应用于MySQL客户端执行外部的SQL脚本文件,相当于将文件中的SQL语句依次在客户端中执行,适用于大量SQL语句、初始化数据库、批量插入和迁移数据的场景
创建sql文件,同时写入SQL语句
进入服务器中执行该sql文件
验证语句是否成功执行
通过客户端直接导入该脚本文件
mysqlcheck (表维护程序)
基本作用分析
mysqlcheck是MySQL提供的一个命令行使用工具,专门用来检查、修复、优化和分析MySQL数据库中的表,其可以与MySQL服务器通信,使用SQL语句来执行这些操作
具体功能分析
- 检查表:检查表的完整性和一致性,查出可能存在的问题
- 修复表:修复受损的表,例如表的索引或者数据不一致的问题
- 优化表:重新构建表和索引,释放未使用的空间,从而提高查询性能
- 分析表:更新表的关键统计信息,从而实现更加高效的查询
基本用法说明
// 基本语法
mysqlcheck [选项] [数据库名 [表名 ...]]
- 数据库名:要操作的数据库名称
- 表名:需要操作的表名,如果不指定默认就是全部的表内容
常用选项
连接选项
- -u , --user:用户,指定连接的用户名
- -p , --password:指定密码
- -h :主机名,指定要连接的主机
- -p :指定端口号,不指定就是3306
- -s :指定套接字
操作选项
- --all-databases , -A :检查所有的数据库
- --databases,-B:后面跟一个或者多个数据库名,检查指定的数据库
- --auto-repair:如果表有问题就自动修复
- --check, -c :检查表(默认操作)
- --repair , -r:修复表
- --optimize,-o:优化表(不要经常去优化)
- --analyze,-a:分析表
- --extended,-e:执行更加彻底的检查和修复
- --quick:快速模式
其他选项
- --verbose,-v:详细模式,显示更多的信息
- --compress:启用客户端与服务器之间的压缩传输
- --debug:写入调试日志
检查单个数据库中的所有表
检查数据库中的所有表
自动修改发现问题的表
优化表
分析表
使用详细模式
Mysqldump(数据库备份程序)
该程序就是用于生成数据库的逻辑备份,其通过数据库表结构、数据、索引等导出一系列SQL语句,利用这些语句可以快速重新构建数据库。
主要功能
- 备份数据库:导出数据库的结构和数据,生成可执行的SQL脚本
- 迁移数据:将数据库从一个服务器迁移到另一个服务器中
- 复制数据库:创建数据库的副本,用于测试或者开发环境
- 导出数据
基本语法
数据库名 -- 需要备份数据库名称;表名 -- 要备份的表名称,如果不指定表名就要导出整个数据库
mysqldump [选项] 数据库名 [表名 ...]
常用选项分析
备份选项
- --databases:后面加一个或者多个数据库名,备份指定的数据库
- --all-databases:备份所有的数据库
- --tables:后根表名,只备份指定的表
- --routines:包括存储过程和函数
- --evnents:包括事件
输出格式
- -n :不生成create database语句
- -t :不导出表结构,只导出数据
- -d:不导出数据,只导出表结构
- --quick:逐行检索数据,减少内存使用
- --compress:启用客户端和服务器之间的压缩传输
备份数据库
恢复备份数据库 (将mydatabase.sql中的内容导入到mydatabase数据库中)
恢复备份的方法同样可以使用source命令
只导出表的结构(不含有数据)
mysqladmin 服务器管理程序
程序运行在客户端,作用于执行MySQL服务器的管理程序,其允许发送管理命令到MySQL服务器,从而执行诸如监控服务器状态、管理用户账户等任务
主要功能分析
- 服务器控制:用于启动、关闭、重启MySQL服务器
- 状态监控:可以查看服务器的当前状态和统计信息
- 账户管理:修改用户密码、创建以及删除用户操作
- 数据库管理:可以创建和删除数据库
- 调试和日志:用于控制日志文件、刷新权限等
服务器控制命令
shutdown
- 用于安全关闭MySQL服务器
mysqladmin -u root -p shutdown
reload
- 重新加载权限表,刷新服务器的权限信息
refresh
- 刷新表和日志,关闭并重新打开所有表文件,刷新日志文件
mysqladmin -u root -p refresh
状态信息命令
status
- 显示简要的服务器状态信息
extended-status
- 显示详细的服务器状态变量和其具体数值
variables
- 显示服务器的系统变量和当前数值
mysqladmin -u root -p variables
create db_name
- 创建一个新的数据库
mysqladmin -u root -p create mydatabase
drop db_name
- 删除指定的数据库
mysqladmin -u root -p drop mydatabase
使用的服务器管理程序可以结合脚本,实现自动化的管理和监控
mysqlshow (显示数据库、表和列的信息)
基本概述
mysqlshow客户端主要用于快速查询哪些数据库、数据库中的表中的列或者索引。
mysqlshow [option] [db_name [tbl_name[col_name]]]
- 如果没有指定特定的数据库或者行列,那么就会显示数据库所有与之匹配的类型
- 常用选项是和[client]组的指定类似
- 参数是可以使用通配符
基本操作
查看数据库中所有表
显示表中所有列信息
仅仅显示一列
mysqldumpslow (总结慢查询日志文件)
含义
该程序就是解析那些查询时间非常长,执行的时间超过其阈值的查询信息(慢查询),慢查询的相关信息通常需要使用日志记录记录下来(慢查询日志)
mysqldumpslow [options] [log_file]
常用选项分析
c
:按次数排序(count)l
:按查询锁定时间排序(lock time)r
:按查询返回的行数排序(rows sent)t
:按查询执行时间排序(query time)
实践命令
慢查询日志保存位置
mysqlbinlog (处理二进制日志文件)
基本概念
数据库的每一次增删查改都是一次“事件”,每个事件都会以二进制的形式记录到二进制日志文件中,该程序就是专门用于处理二进制日志文件。
主从同步经常使用二进制日志文件,主节点的操作都会记录到二进制文件中,然后从节点通过定期读取二进制文件中的内容来更新自己的数据库。
mysqlbinlog程序则是按照文本的形式来显示二进制日志文件中的内容
mysqlbinlog [options] log_file_name
实践
二进制日志文件存储
从指定位置开始读取日志
从指定时间开始读取
仅显示指定数据库的相关日志
以详细模式输出二进制日志内容
输出内容可以使用重定向的方法输出到文件中
mysqlbinlog binlog.000001 > output.sql
数据恢复操作
mysqlbinlog --start-datetime="2024-09-19 00:00:00" --stop-datetime="2024-09-20 00:00:00" binlog.000001 > restore.sql
mysql -u root -p < restore.sql
主从复制(主从服务器数据同步)
mysqlbinlog --read-from-remote-server --host=master_host --user=replication_user --password=replication_password binlog.000001 > binlog.sql
mysql -u slave_user -p < binlog.sql
mysqlslap (负载仿真客户端)
基本含义
mysqlslap是一个压力测试工具,也就是用于模拟多线程并发对数据库进行查询操作,从而评估数据库的性能。
主要功能分析
- 创建测试表和数据
- 对表中的数据进行并发查询,测试数据库的读写性能
- 测试结束后,删除测试表和数据
mysqlslap [options]
注意事项
- 如果指定一个包含SQL语句的文件,那么默认情况下每行都必须包含一条语句
- 如果要将一条语句分为多行书写,可以使用--delimiter选项指定不同的分隔符
代码测试
自动生成select查询测试数据库的读性能
指定要自动生成的SQL语句数量
指定表中生成的整数和字符列的数量
输出压测的详细信息
相关文章:

MySQL程序
目录 MySQL程序 常用的MySQL的程序 mysqld程序 mysql客户端 客户端命令的常用的选项 配置文件 配置文件语法 MySQL客户端命令 编辑 .sql 文件中执行SQL语句 mysqlcheck (表维护程序) Mysqldump(数据库备份程序) mysql…...

吉林省自闭症寄宿学校:提供个性化培养方案
在吉林省的怀抱中,隐藏着一片温馨而特殊的天地——星贝育园自闭症儿童寄宿制学校。这里,不是简单的教育场所,而是无数自闭症儿童梦想启航的港湾,是他们感受爱、学习成长、绽放自我光芒的温馨家园。 自闭症,一个逐渐被…...
Java基础 — Java 虚拟机(上篇)
该文章属于Java进阶部分的JVM入门,本章讲述了JVM的历史、Java源代码到机器码的过程以及 Class字节码文件的内部结构等。 了解了这篇文章,能让你深入地了解JVM知识,保证在短时间内掌握JVM! JVM 入门教程(上篇࿰…...

C++ | Leetcode C++题解之第435题无重叠区间
题目: 题解: class Solution { public:int eraseOverlapIntervals(vector<vector<int>>& intervals) {if (intervals.empty()) {return 0;}sort(intervals.begin(), intervals.end(), [](const auto& u, const auto& v) {retur…...

AI编辑器CURSOR_CURSOR安装教程_使用AI进行编码的最佳方式。
一、CUROR简介 作为一个在代码海洋里遨游多年的老程序员,我得说,遇到CURSOR这位AI编辑器,就像是编程路上偶遇了一位智慧而又贴心的老友。 想象一下,夜深人静,你正埋头于那些错综复杂的逻辑和无尽的bug之中࿰…...
华为HarmonyOS灵活高效的消息推送服务(Push Kit) -- 10 推送实况窗消息
场景介绍 实况窗是一种帮助用户聚焦正在进行的任务,方便快速查看和即时处理的通知形态。有关实况窗简介、权限申请、开放场景、设计规范等说明,请参见Live View Kit简介。 通过Push Kit发送的实况窗消息支持三种操作类型,分别是: 实况窗消息操作类型 支持操作的场景类型 …...
探索 Go 语言程序实体:揭开神秘面纱
《探索 Go 语言程序实体:揭开神秘面纱》 在 Go 语言的世界里,程序实体是构建强大应用的基石。它们就像是魔法世界中的元素,各自有着独特的能力和用途。让我们一起深入探索 Go 语言程序实体的那些事儿。 一、什么是 Go 语言程序实体? 在 Go 语言中,程序实体是指可以被命…...

深入理解端口、端口号及FTP的基本工作原理
FTP是TCP/IP的一种具体应用,FTP工作在OSI模型的第七层,TCP模型的第四层上,即应用层,FTP使用的是传输层的TCP传输而不是UDP,这样FTP客户在和服务器建立连接前就要经过一个被广为熟知的“三次握手”的过程,其…...

9.3 Linux_文件I/O_相关函数
打开与关闭 1、打开文件 int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);返回值:成功返回文件描述符,失败返回EOF pathname:文件路径 flags:标志,其中O_RDO…...

点亮一个LED灯
一、任务分析 一个灯怎么样才会亮? 图中的小灯两端接正负极,小灯就会点亮,但是我们不能主动控制灯的亮灭,于是加入了开关。开关打开断开小灯正极,小灯就会熄灭,反之则点亮。 在板子上的灯是如何连接的&…...

分布式框架 - ZooKeeper
一、什么是微服务架构 1、单体架构 顾名思义一个软件系统只部署在一台服务器上。 在高并发场景中,比如电商项目,单台服务器往往难以支撑短时间内的大量请求,聪明的架构师想出了一个办法提高并发量:一台服务器不够就加一台&am…...
8月份,AI图像生成领域web端产品排行榜及产品是做什么的
看全球用户量级别的Top12(WEB)。 排名 产品名 分类 8月访问量 上月对比 1 Canva AI Design Tool 711.9M 6.48% 2 Remove.bg AI Image Editor 72.79M 2.84% 3 Fotor AI Image Editor 15.62M 2.34% 4 Civitai Model Training & …...
Sqlite_Datetime列选择三月的行
In SQLite, use the strftime function to extract components from a date/time value SELECT * FROM table WHERE strftime(%m, datemonth) 03;strftime(‘%m’, datemonth): extracts the month part from the datemonth column as a string (with leading zeros for sing…...

spring里面内置的非常实用的工具
一 、请求数据记录 Spring Boot提供了一个内置的日志记录解决方案,通过 AbstractRequestLoggingFilter 可以记录请求的详细信息。 AbstractRequestLoggingFilter 有两个不同的实现类,我们常用的是 CommonsRequestLoggingFilter。 通过 CommonsRequestL…...

计算机毕业设计 基于Python内蒙古旅游景点数据分析系统 Django+Vue 前后端分离 附源码 讲解 文档
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...

centos7 docker部署nacos
1. 一行代码安装git yum -y install git 2. 下载最新版nacos源码: git clone https://github.com/nacos-group/nacos-docker.git 进入nacos-docker文件 cd nacos-docker 3.docker安装数据库Mysql8 按这个来就行,非常好 Docker安装mysql8-超详细、每…...

短视频矩阵源码/短视频矩阵系统搭建/源码开发知识分享
集星云推智剪获客系统,通过自主研发的高效发布模式,为企业提供稳定的接口与自动化操作,助力企业实现短视频矩阵的构建。该系统整合了十大核心功能,包括AI辅助文案撰写、视频剪辑、智能去重、内容拆分、文字转语音、文本提取、批量…...

Git使用教程-将idea本地文件配置到gitte上的保姆级别教程
🤹♀️潜意识起点:个人主页 🎙座右铭:得之坦然,失之淡然。 💎擅长领域:前端 是的,我需要您的: 🧡点赞❤️关注💙收藏💛 是我持…...

论文 | Reframing Instructional Prompts to GPTk’s Language
作者:Swaroop Mishra, Daniel Khashabi, Chitta Baral, Yejin Choi, Hannaneh Hajishirzi 论文摘要:语言模型 (LM) 更容易遵循哪些类型的指令提示? 我们通过进行广泛的实证分析来研究这个问题,这些分析阐明了成功指令提示的重要特…...
C++ Qt / VS2019 +opencv + onnxruntime 部署语义分割模型【经验2】
前序工作 C Qt / VS2019 opencv onnxruntime 部署语义分割模型【经验】 引言 前序工作中介绍了Pytorch模型如何转为ONNX格式,以及在Python中如何使用onnx模型 介绍了如何在VA或QT中配置Onnxruntime运行库 本文重点列出全部源代码及其使用 依赖库 onnxruntime…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型
在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重,适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解,并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...