003 - 数据库
文章平均质量分 65
别再被数据库问题卡脖子!这里不教基础 CRUD,只给能落地的干货:从索引优化让查询提速 10 倍,到事务隔离避坑、分库分表落地,再到锁机制破解并发难题。每篇都带实战案例,帮你从 “会用库” 进阶 “玩转库”,搞定职场里的数据库痛点。订阅跟着学,技术提效少走弯路!
本本本添哥
奶爸的编程之路,也就一周冷个三天~
专门分享AI大模型/Java微服务/计算机软考/项目管理/个人成长/思维框架/效能工具等相关内容
欢迎关注我的公众号:本本本添哥
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【项目实战】Apache Doris 的版本迭代历史,Apache Doris 通过持续迭代,已从专用报表系统演变为支持湖仓一体、存算分离的云原生分析型数据库,广泛应用于实时数仓、日志分析等场景。
Apache Doris 的版本迭代历史可划分为多个关键阶段,Apache Doris 通过持续迭代,已从专用报表系统演变为支持湖仓一体、存算分离的云原生分析型数据库,广泛应用于实时数仓、日志分析、高并发查询等场景。原创 2025-04-30 10:41:50 · 228 阅读 · 0 评论
-
【项目实战】MySQL 常见的字符集(Character Set)和排序规则(Collation)选型
MySQL 常见的字符集(Character Set)和排序规则(Collation)选型需结合应用场景、语言支持及性能需求,通过以上选型策略,可确保MySQL在存储、比较和排序时满足多语言支持、性能及业务逻辑需求。根据你的具体需求,你可以选择合适的排序规则。如果你不确定,可以先选择,这是一个比较通用的选择。原创 2025-04-28 09:41:45 · 275 阅读 · 0 评论
-
【人工智能】Milvus 支持多种度量类型(Metric Types),用于衡量向量之间的相似性或距离,这对于提高分类和聚类性能至关重要。
Milvus 是一个开源的向量数据库,用于高效地管理和检索大规模向量数据。Milvus 广泛应用于机器学习、计算机视觉、自然语言处理等领域,帮助用户快速实现相似性搜索和数据分析。Milvus 支持多种度量类型(Metric Types),用于衡量向量之间的相似性或距离,这对于提高分类和聚类性能至关重要。详细信息可以参考。原创 2025-02-06 21:12:42 · 153 阅读 · 0 评论
-
【人工智能】Milvus 提供了多种内存索引(In-memory Index),用于优化向量相似性搜索的性能。
Milvus 提供了多种内存索引(In-memory Index),用于优化向量相似性搜索的性能。这些索引基于不同的算法实现,包括基于树(Tree-based)、图(Graph-based)、哈希(Hash-based)和量化(Quantization-based)的方法,旨在通过近似最近邻搜索(ANNS)算法,在牺牲一定精度的前提下,大幅提升查询效率。原创 2025-02-07 14:30:21 · 123 阅读 · 0 评论
-
【项目实战】我们是怎么做MySQL数据库安全管理的?
MySQL作为数据库管理系统,里面保存企业的重要业务数据,因此保证数据库的安全性非常重要,如何保证数据库的安全性呢?用户和用户权限管理是一个很重要的方面。MySQL数据库具有非常高的安全性,为我们提供了GRANT语句进行授权管理,并且它可以去自定义设置用户权限。而MySQL数据库中的权限又会分为不同的几个功能,每个用户的权限可能都是不一样的。原创 2023-01-11 06:23:39 · 754 阅读 · 0 评论
-
【异常】Milvus 数据库层级配置改造实践
通过连接参数指定数据库名称,适配当前 SDK 版本完善接口实现,确保编译通过改进索引检查逻辑,正确处理索引不存在的情况向后兼容:未配置database时使用默认行为数据库需要预先在 Milvus 服务器上创建如需自动创建数据库,可升级到支持数据库 API 的 SDK 版本,或使用 REST API 创建索引检查逻辑已优化,可自动处理集合存在但索引不存在的情况改造完成后,系统支持数据库层级的配置,实现多租户数据隔离。原创 2025-11-24 15:17:24 · 152 阅读 · 0 评论 -
【异常】Spring Boot Redisson RedisConnectionException: Unable to init enough connections amount!
该问题由 Redisson 初始化时要求的最小空闲连接数超过 Redis 服务器当前可接受数量导致。若需更多连接,再结合方案二和方案三,从应用配置和服务器配置两方面优化。Redisson 初始化时要求创建 10 个最小空闲连接,但只成功创建了 3 个,导致。如果不需要启动时立即建立所有连接,可考虑懒加载策略,但 Redisson 的。Bean 创建失败,进而引发依赖链上的 Bean 创建失败。:Spring 依赖注入失败,导致相关 Bean 无法创建。会在初始化时尝试创建,因此仍需调整该参数。原创 2025-11-16 14:14:49 · 21 阅读 · 0 评论 -
【异常】MySQL连接提示java.sql.SQLException: Access denied for user ‘80****31‘@‘14.154.*.*‘
确认用户名和密码:在 Java 配置中是否正确。确认 MySQL 用户:在 MySQL 中是否存在。确认权限:该用户是否有足够的权限。刷新权限:执行。检查网络:防火墙和安全组是否开放了 3306 端口。原创 2025-11-16 11:18:42 · 15 阅读 · 0 评论 -
【异常】Milvus向量数据库提示CreateIndex failed: at most one distinct index is allowed per field
摘要:日志显示Milvus报错"CreateIndex failed: at most one distinct index is allowed per field",表明example_memories集合的vector字段已存在索引,重复创建导致失败。解决方法:1)检查现有索引状态;2)若需重建,先删除旧索引再创建新索引;3)代码层面建议添加索引存在性检查逻辑,避免重复创建。需确保每个字段仅有一个索引,或按需替换已有索引。原创 2025-11-05 15:39:58 · 29 阅读 · 0 评论 -
【项目实战】Mybatis Plus如何设置打印SQL日志
在MyBatis Plus中设置打印SQL日志,本质上依赖于MyBatis的日志配置(MyBatis Plus基于MyBatis,完全兼容其日志机制)。具体配置方式根据项目环境(如Spring Boot)和使用的日志框架(如Logback、Log4j2等)略有差异,以下是最常用的配置方案,通过以下配置,即可在控制台或日志文件中看到MyBatis Plus执行的SQL语句、参数、返回结果等详细信息。原创 2025-10-29 16:11:34 · 92 阅读 · 0 评论 -
【异常】MybatisPlus提示异常Cause: java.sql.SQLException: Incorrect DATETIME value: ‘‘
摘要: 系统报错显示SQL查询中出现Incorrect DATETIME value: ''错误,原因是MyBatis映射文件中日期查询条件仅判断了null值,未过滤空字符串参数。当传入空字符串时,会生成非法SQL语句导致数据库无法解析。解决方案是在XML映射文件中使用<if test="param != null and param != ''">双重条件判断,同时排除null和空字符串参数,并在DTO层增加参数校验,确保日期参数合法有效。该修复适用于所有可能传入空字符串的原创 2025-10-29 15:38:52 · 25 阅读 · 0 评论 -
【异常】高版本MyBatis-Plus3.5.9提示无法解析符号 ‘PaginationInnerInterceptor‘ ,无法解析符号 ‘BlockAttackInnerInterceptor‘
【摘要】MyBatis-Plus 3.5.9版本中PaginationInnerInterceptor类已从核心包分离,导致报错"无法解析符号"。解决方法:需单独添加mybatis-plus-jsqlparser依赖(版本需与主包一致),并在配置类中注册分页插件。操作步骤包括:添加依赖后刷新Maven、正确配置分页拦截器、重新编译项目即可解决问题。该问题是由于MyBatis-Plus模块化调整导致的常见兼容性问题。(149字)原创 2025-10-22 17:45:54 · 234 阅读 · 0 评论 -
【异常】解决 MyBatis-Plus 依赖冲突问题 The following method did not exist: ‘net.sf.jsqlparser.schema.Column
MyBatis-Plus 依赖冲突是 Spring Boot 3 迁移过程中的常见问题。通过正确配置依赖版本,可以避免运行时错误。关键是要使用 Spring Boot 3 兼容的 MyBatis-Plus 版本,并确保 JSQLParser 版本兼容性。原创 2025-10-22 17:23:07 · 36 阅读 · 0 评论 -
【异常】ClassPathMapperScanner - No MyBatis mapper was found in ‘[com.xxx.mapper]‘ package.
下没有扫描到任何 Mapper 接口,可能是配置或代码结构问题导致的。通过以下步骤,通常能定位到“未找到 Mapper 接口”的原因(多数是包路径错误或注解缺失)。根据实际情况调整后,警告会消失。这个警告信息表明 MyBatis 在指定的包路径。原创 2025-10-22 16:57:54 · 41 阅读 · 0 评论 -
【异常】Milvus向量数据库的常见错误“collection not loaded“(集合未加载)
Milvus数据库报错"collection not loaded"分析及解决方案。该错误发生在对未加载的集合执行查询操作时,核心原因是集合创建后需先加载到内存才能使用。解决方案包括:1)确认集合是否存在;2)查询前调用loadCollection接口加载集合;3)处理加载超时或失败情况,可检查加载状态;4)确保Milvus服务正常运行。建议在长期不使用集合时释放内存资源。文末附Java代码示例说明具体操作方法。原创 2025-09-15 17:20:12 · 119 阅读 · 0 评论 -
【异常】MilvusClientException: type param key(max_length) should be specified for varChar field,
Milvus集合创建报错:varChar类型字段需指定max_length参数而非enable_match。错误原因是varChar字段必须设置max_length定义字符串最大长度,而enable_match不是有效参数。解决方法是在schema定义中为varChar字段添加max_length参数并移除enable_match。示例代码展示了如何正确配置varChar字段,确保所有此类字段都包含max_length参数即可解决问题。原创 2025-09-11 13:25:26 · 62 阅读 · 0 评论 -
【项目实战】Milvus 2025实战指南:极速向量搜索
Milvus是一款开源向量数据库,专为大规模AI应用设计。本文提供2025年最新实践指南:包含轻量级/单机/分布式部署方式;核心操作代码示例;IVF_FLAT/HNSW/DiskANN等索引选择策略;混合搜索(向量+全文+元数据)实现方法;与PostgreSQL的集成方案;以及RabitQ量化等最新优化技术。适用于推荐系统、图像检索等场景,兼顾性能与成本,支持从原型开发到企业级应用的全流程需求。原创 2025-09-11 10:00:09 · 82 阅读 · 0 评论 -
【项目实战】OLAP引擎,ClickHouse 是一款开源的列式联机分析处理(OLAP)数据库管理系统, 凭借其列式存储、分布式架构和高效查询能力,已成为实时分析领域的标杆工具.
【项目实战】Clickhouse入门介绍。原创 2024-03-25 14:52:55 · 31 阅读 · 0 评论 -
【异常】‘milvus-cli‘ 不是内部或外部命令,也不是可运行的程序
摘要: 当出现“'milvus-cli' 不是内部或外部命令”错误时,可通过以下方法解决: 临时使用:直接运行 python -m milvus_cli 进入交互界面。 永久配置:通过 pip show milvus-cli 查找安装路径,将 Scripts 目录添加到系统环境变量(PATH)中。 虚拟环境:需先激活虚拟环境再执行命令。 验证方法:运行 milvus-cli --version 检查版本号是否正常显示。若仍失败,可尝试重新安装工具。 (字数:150)原创 2025-09-05 09:01:21 · 85 阅读 · 0 评论 -
【异常】Milvus向量数据库的典型问题:集合未加载到内存中 failed to search: collection not loaded[collection=460448712060030860
Milvus的工作机制要求:在对集合执行搜索(search)或查询(query)操作前,必须先将集合。通过以上步骤,即可解决“collection not loaded”的问题。解决此问题的核心是在执行搜索操作前,先调用Milvus客户端的。如果集合处于未加载状态,会直接抛出。方法将集合加载到内存。,导致搜索操作失败。原创 2025-09-04 15:43:22 · 135 阅读 · 0 评论 -
【项目实战】Milvus安装问题排查指南
系统未找到milvus-server可执行文件,可能是Milvus未安装或路径未配置。检查发现系统中没有安装milvus包,且docker命令因权限问题无法执行。建议先确认Milvus是否已通过包管理器或Docker安装,若已安装则需将可执行文件路径加入PATH环境变量,否则需重新安装。同事提供的版本信息显示安装的是2.5.X版本。原创 2025-09-04 15:07:46 · 66 阅读 · 0 评论 -
【异常】Docker运行的好好的,忽然 Milvus 服务 就异常了 ,docker ps 看不到这个实例。 milvus invoked oom-killer: gfp_mask=0x100cca(
当Docker中运行的Milvus服务突然消失(docker ps看不到),通常意味着容器已意外停止或被删除。docker ps仅显示。原创 2025-09-04 14:13:46 · 90 阅读 · 0 评论 -
【异常】Milvus向量数据库连接失败 提示 io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
如果Milvus客户端SDK版本与服务器版本差异较大,可能导致gRPC协议不兼容,引发连接失败。从日志和错误信息来看,你遇到了Milvus向量数据库连接失败的问题,具体是。服务器上的Milvus服务可能未运行、崩溃或端口被占用,导致无法响应请求。如果连接失败,需联系服务器管理员开放端口,或确认网络是否允许访问该地址。这通常与网络连接、服务状态或配置错误相关。,但Milvus的gRPC接口默认使用**请求时发生了gRPC连接异常(日志中显示初始化地址为。原创 2025-09-04 13:54:37 · 77 阅读 · 0 评论 -
【异常】ERROR: ld.so: object ‘/milvus/lib/‘ from LD_PRELOAD cannot be preloaded (cannot read file data)
摘要:Docker运行报错显示LD_PRELOAD无法加载/milvus/lib/目录下的库文件,同时tini参数格式有误。解决方案包括:1)重启Milvus服务;2)验证镜像路径与权限;3)修正tini启动参数格式;4)检查LD_PRELOAD配置;5)调整用户权限;6)排查架构兼容性。核心问题是路径异常、参数格式错误及权限不足,需确保路径存在、命令正确且权限充足。(149字)原创 2025-09-04 13:35:16 · 85 阅读 · 0 评论 -
【异常】Milvus提示Exception:{} io.grpc.StatusRuntimeException: INTERNAL: http2 exception
Milvus向量存储服务连接失败,出现gRPC通信异常(HTTP2错误)。常见原因包括:Milvus服务未启动、端口配置错误(默认19530端口而非8000)、网络不通或防火墙拦截。建议检查:1)服务器端口开放情况;2)Milvus服务状态;3)客户端与服务器gRPC版本兼容性;4)尝试使用默认端口19530重新连接。可通过telnet测试端口连通性或curl检查服务健康状态来进一步定位问题。原创 2025-09-04 13:29:05 · 50 阅读 · 0 评论 -
【项目实战】Milvus向量数据库连接失败提示gRPC的Caused by: java.net.ConnectException: Connection refused: getsockopt
摘要:日志显示Milvus向量数据库连接失败(localhost:6333端口拒绝连接),核心原因是Milvus服务未启动或不可达。解决方案分四步:1)检查6333端口监听状态(Linux/macOS用netstat/lsof,Windows用netstat);2)通过Docker或二进制方式启动Milvus服务;3)使用客户端工具验证服务可用性;4)确认应用配置中Milvus地址、端口和集合名称是否正确。若为远程服务,需检查防火墙设置。(149字)原创 2025-09-04 11:10:26 · 141 阅读 · 0 评论 -
【异常】HikariCP 连接警告Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl
完成上述配置后,重启你的应用程序,HikariCP连接池就会按照新的配置来管理数据库连接,从而减少因连接关闭导致的警告信息。通过以上调整,连接池会及时淘汰已被MySQL关闭的连接,避免出现“连接已关闭”的警告。这个警告信息来自HikariCP连接池,提示数据库连接已被关闭但连接池仍在尝试使用该连接,通常与数据库连接超时设置不匹配有关。为了确保从连接池获取的连接是有效的,可以配置连接验证查询或者使用ping机制。连接池在复用连接前未有效验证连接状态,导致使用了已被关闭的连接。如果HikariCP的。原创 2025-08-27 09:39:10 · 380 阅读 · 0 评论 -
【异常】MySQL连接数过多提示rejected establishment of connection, message from server: “Too many connections“
MySQL数据库出现"Too many connections"错误,表明已达到最大连接数限制。主要原因是连接泄露、配置不当或高并发请求。解决方案包括:1)临时/永久增加max_connections值;2)修复应用连接泄露问题;3)优化连接池配置;4)检查慢查询。可通过SHOW PROCESSLIST等SQL命令监控连接状态,分析问题来源。建议优先检查应用连接管理,再考虑调整数据库配置参数。(149字)原创 2025-08-24 22:02:35 · 171 阅读 · 0 评论 -
【好物推荐】取代Navicat,一款集成了AI功能的数据库管理神器! Chat2DB
Chat2DB是一款革命性开源数据库管理工具,通过AI技术解决传统工具(如Navicat)的痛点:1)支持自然语言转SQL,降低非技术人员使用门槛;2)兼容多种主流数据库;3)提供智能补全和可视化查询功能。其基于Electron+React/Node.js+Python技术栈,采用MIT协议开源,社区已贡献多个驱动适配和图表类型。相比传统工具,Chat2DB学习成本更低、支持自然语言交互且完全免费,特别适合业务分析师、开发人员等快速获取和分析数据。(150字)原创 2025-08-22 09:04:22 · 175 阅读 · 0 评论 -
【项目实战】MySQL Connector/J是 MySQL 官方提供的 Java 数据库连接驱动(JDBC 驱动),用于在 Java 应用程序与 MySQL 数据库之间建立连接并执行数据操作。
MySQL Connector/J 8.3.0是MySQL官方JDBC驱动,专为Java应用与MySQL数据库交互设计。它具有连接管理、SQL操作执行、数据类型转换等功能,支持Java 8+和MySQL 8.0+。该版本改进了性能(优化结果集处理和PreparedStatement缓存)、增强安全性(默认TLS 1.2+)、新增对JSON_TABLE等功能的支持,并修复了连接超时等Bug。使用Maven添加依赖即可集成,需注意URL参数配置和版本兼容性。适用于Spring Boot等Java项目,推荐结合连原创 2025-08-22 09:03:10 · 67 阅读 · 0 评论 -
【项目实战】MyBatis,多表关联查询详解
MyBatis 是一个优秀的持久层框架,它支持多种方式实现多表关联查询。在实际项目开发中,我们经常需要从多个表中获取关联数据,MyBatis 提供了灵活的解决方案。原创 2025-08-21 09:53:38 · 61 阅读 · 0 评论 -
【好物推荐】 Redis Data Reveal(RDR):全方位解析Redis内存的可视化工具
Redis Data Reveal (RDR)是一款高效的Redis内存分析可视化工具,能够解析RDB文件并生成直观的数据报表。它提供数据类型分析、内存占用统计、大键定位、键前缀统计等功能,通过可视化图表展示Redis数据分布特征。RDR基于Golang开发,具有高性能、跨平台、轻量化的特点,5GB文件解析仅需2分钟。使用简单,只需下载可执行文件并运行命令即可生成网页报表。该工具可帮助用户优化内存、提升性能、规划容量和快速排查问题,是Redis运维的得力助手。原创 2025-08-21 09:46:51 · 172 阅读 · 0 评论 -
【异常】Redis 中 SETBIT 操作导致内存激增的技术分析与优化建议
SETBIT操作作为 Redis 位图功能的核心命令,在带来高效位操作能力的同时,也存在因offset设置不当导致内存激增的风险。其根本原因在于 Redis 会为SETBIT操作的key预分配足以容纳最大offset的存储空间(最高 512 MB)。开发者在使用SETBIT时,需严格校验offset范围、监控内存占用、拆分大型位图,并合理配置内存策略,以避免内存浪费和服务稳定性问题。只有充分理解底层原理并遵循最佳实践,才能充分发挥 Redis 位图的优势,同时保障系统的高效稳定运行。原创 2025-08-21 09:45:32 · 133 阅读 · 0 评论 -
【异常】Milvus 提示错误(code=102, message=exceeded the limit number of collections[dbName=db_xx][limit=5]
Milvus集合数量超限解决方案 错误提示表明数据库db_60864d826faac03的集合数已达上限(5个)。解决方法: 删除无用集合:通过Collection(名称).drop()释放空间 切换数据库:用db.create_database()新建数据库后切换 修改配置(需权限):调整最大集合数限制并重启服务 测试环境建议优先删除旧集合,长期使用推荐创建新数据库。原创 2025-08-21 09:43:56 · 71 阅读 · 0 评论 -
【异常】Milvus集合命名规范与报错解决
Milvus集合名称报错:名称"example-memories"包含无效字符"-"。Milvus要求集合名只能含数字、字母和下划线。解决方法是将名称中的连字符改为下划线,如改为"example_memories",修改后重新运行程序即可解决。原创 2025-08-20 09:05:07 · 62 阅读 · 0 评论 -
【项目实战】基于Docker搭建 neo4j
本文介绍了使用Docker快速部署Neo4j图数据库的方法:1)拉取官方镜像;2)运行容器并配置端口映射、数据持久化和初始密码;3)通过浏览器访问7474端口管理界面;4)提供常用容器操作命令。该方法简单高效,适合本地开发测试环境搭建,同时确保数据安全存储。原创 2025-08-20 09:04:30 · 63 阅读 · 0 评论 -
【项目实战】图数据库是专门用于存储和查询实体(节点)及其关系(边)的数据库,尤其擅长处理高度关联的复杂数据(如社交网络、知识图谱、欺诈检测等)。
图数据库是专门用于存储和查询实体(节点)及其关系(边)的数据库,尤其擅长处理高度关联的复杂数据(如社交网络、知识图谱、欺诈检测等)。随着关联数据场景的增多,技术选型成为关键。图数据库选型的核心是“业务需求匹配技术特性”:中小规模、快速上手选Neo4j;超大规模、高并发选Nebula Graph;企业级复杂分析选TigerGraph;大数据生态集成选JanusGraph。最终需通过POC验证性能与兼容性,避免盲目跟风。以下从核心考量因素、主流产品对比、选型步骤三个维度展开分析。原创 2025-08-20 08:55:52 · 35 阅读 · 0 评论 -
【项目实战】Neo4j 是目前全球最流行的原生图数据库(Native Graph Database),专注于高效存储、查询和处理具有复杂关系的数据。
Neo4j 是目前全球最流行的(Native Graph Database),专注于高效存储、查询和处理具有复杂关系的数据。与传统的关系型数据库(如 MySQL)或文档型数据库(如 MongoDB)不同,它以“节点-关系”的图结构为核心,天然适合处理现实世界中大量存在的关联数据场景。Neo4j 作为领先的图数据库,以其高效的关系查询、直观的数据模型和强大的 Cypher 语言,成为处理复杂关联数据的首选工具。原创 2025-08-20 08:55:25 · 64 阅读 · 0 评论 -
【项目实战】Redis 适配:从 4.X 到 6.X 的兼容与迁移指南
Redis 4.X到6.X版本升级适配要点:各版本在性能优化、新特性(如Stream数据结构、ACL权限控制)和安全增强(SSL/TLS)方面存在关键差异。适配需关注命令兼容性(如用UNLINK替代DEL)、配置参数调整(多线程I/O设置)、客户端版本匹配及安全特性迁移。建议分阶段升级,重点测试功能兼容性和性能表现,通过合理配置新特性实现平稳过渡,同时提升安全性和处理能力。原创 2025-08-19 09:07:22 · 305 阅读 · 0 评论 -
【项目实战】基于Spring Boot实现两个不同SQL数据库实例之间条件迁移
【代码】【项目实战】基于SpringBoot实现两个不同SQL数据库实例之间条件迁移。原创 2023-03-15 23:12:21 · 494 阅读 · 0 评论
分享