自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(158)
  • 收藏
  • 关注

原创 MySQL中如何随机获取一条记录

点击上方蓝字关注我随机获取一条记录是在数据库查询中常见的需求,特别在需要展示随机内容或者随机推荐的场景下。在 MySQL 中,有多种方法可以实现随机获取一条记录,每种方法都有其适用的情况和性能特点。在本文中,我们将探讨几种常用的方法,并推荐适合不同情况下的最佳方法。方法一:使用ORDER BY RAND()这是最常见的随机获取一条记录的方法之一:SELECT * FROM testdb....

2024-04-19 00:00:13 898

原创 JDK版本升级后连不上MySQL数据库的问题

1. 问题描述用户在将 JDK 版本从 8 升级到 11 后,发现应用无法连接到 MySQL 数据库,出现连接超时或连接被拒绝的错误。例如出现如下报错信息:可能原因:JDBC驱动版本不兼容:新的 JDK 11 可能需要使用更高版本的 MySQL JDBC 驱动。SSL/TLS配置变更:JDK 11 的 SSL/TLS 配置可能与旧版本不同。加密算法更新:JDK 11 可能不再支持某些加密算法...

2024-04-09 21:51:14 889

原创 探索MySQL递归查询:处理层次结构数据

在数据库管理中,处理具有层次结构的数据一直是一项常见任务。MySQL的递归查询功能通过公用表表达式(CTE)为处理这类数据提供了便捷的方式。递归查询可以用于管理组织结构、目录树等数据,使您能够轻松地查询任意节点的子节点、父节点或整个路径。1. 语法解释在MySQL中,递归查询的基本语法结构如下所示:WITH RECURSIVE cte_name AS ( -- 初始查询(第一次迭代) ...

2024-04-08 19:07:23 916

原创 慢SQL探秘之为什么我的SQL很慢却没记录在慢查询日志里

在MySQL数据库中,想了解数据库运行情况的重要指标之一是慢SQL。而并非如某些人所说的所有运行慢的SQL都会被记录在慢SQL日志(或日志表)里,抑或是没有慢SQL就代表没有运行慢的SQL。本文将总结一些比较常见的运行比较慢但不会被记录在慢SQL日志里的情况。另外,慢SQL的计算方式在MySQL8.0新版本中有变化,因此,将通过对比MySQL5.7(MySQL5.7.38)与MySQL8.0(My...

2024-03-24 22:11:10 831

原创 SQL SERVER 数据库安装

当年上学及第一份工作使用的主要数据库都是SQLSERVER,而现在SQL SERVER已经有很多新版本和特性出来了。部分同学安装时总是出现问题,下面就演示一下安装步骤。1. 下载及默认安装下载地址https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads选择免费的专用版本下载完成下载后,进行安装选择安装类型:学习使用阶段可以选择...

2024-03-23 09:01:36 526

原创 DBA面试题:MySQL缓存池LRU算法做了哪些改进?

下图是MySQL(MySQL5.7版本)体系架构图MySQL的InnoDb Buffer Pool 缓冲池是主内存中的一个区域,用来缓存InnoDB在访问表和索引时的数据。对于频繁使用的数据可以直接从内存中访问,从而加快处理速度。如果一台服务器专用作MySQL数据库使用时,通常将70%~80%(具体看总内存大小而定)的物理内存空间分配给缓冲池。缓冲池由多个缓冲池实例(innodb_buffer_p...

2024-03-14 22:10:49 1204

原创 给你汇总了MySQL各个版本的体系结构图

点击上方蓝字关注我InnoDB是MySQL中最重要的存储引擎之一,它的架构设计旨在提供高可靠性和高性能。以下是InnoDB架构的简要介绍:InnoDB架构主要包括两种结构:内存中结构和磁盘上结构。1.内存中结构• 缓冲池(Buffer Pool):缓存频繁访问的数据,减少磁盘I/O操作,提高查询性能。• 变更缓冲区(Change Buffer):缓存对二级索引页的更改,当这些页不在缓冲池中时,以...

2024-03-13 23:56:15 553

原创 MySQL 8.0与MySQL 5.7的binlog差异小结

点击上方蓝字关注我 MySQL是一个广泛使用的开源关系型数据库管理系统,它提供了许多强大的功能,如事务、存储过程、触发器、视图、全文索引等。但是,MySQL也有一些不足之处,比如数据的安全性和可靠性。如果数据库发生故障或损坏,如何恢复数据?如果数据库需要进行主从复制或读写分离,如何保证数据的一致性?这些问题都需要借助一个特殊的机制来解决,那就是binlog。1. binlog的主要用途...

2024-02-24 08:03:41 1223

原创 扫码点餐小程序制作很简单,食堂微信点餐、外卖功能全部配齐

微信餐饮小程序是一个专门针对餐饮企业的微信小程序,它可以帮助餐饮企业快速搭建微信小程序,并通过微信公众号和微信小程序实现线上订餐、外卖配送、预约点餐等功能。餐饮企业通过微信餐饮小程序可以快速实现菜单展示、在线订餐、预约点餐、外卖配送等功能,让顾客能够更方便、快捷地享受餐饮服务。餐厅信息、菜式展现点餐小程序在设计上充分考虑用户的使用习惯,加入了菜品分类目录元素。顾客除了可以直接滑动屏幕浏览菜式,还可...

2024-02-24 08:03:41 550

原创 Redis如何修改key名称

点击上方蓝字关注我近期出现过多次修改Redis中key名字的场景,本次简介一下如何修改Redis中key名称的方法。1. 命令行方式修改在Redis中,可以使用rename命令来修改Key的名称。这个命令的基本语法如下:RENAME old_key new_key在这里,old_key是原来的Key名称,new_key 是你希望将其修改为的新Key名称。以下是具体的步骤:备份数据:在进行修改之前...

2024-02-23 08:03:01 1151

原创 微信小程序开店需要哪些流程,分销商城功能有吗?

微信小程序开店是一种基于微信平台的电子商务解决方案,它允许商家在微信内部创建自己的在线商店,以便用户可以直接在微信聊天界面中浏览商品、下单购买。以下是关于微信小程序开店的详细介绍:1. 注册和设置首先,商家需要在微信公众平台上注册一个小程序账号,并完成实名认证。注册过程中需要提供企业信息、营业执照等相关资料。注册完成后,商家可以使用微信提供的开发工具来设计和开发自己的小程序。2. 设计和开发微信小...

2024-02-23 08:03:01 421

原创 如何连接ACL认证的Redis

点击上方蓝字关注我应用程序连接开启了ACL认证的Redis时与原先的方式有差别,本文介绍几种连接开启ACL认证的Redis的Redis的方法。对于RedisACL认证相关内容,可以参考历史文章:Redis权限管理体系(一):客户端名及用户名Redis权限管理体系(二):终于等来了Redis权限控制体系ACLRedis权限管理体系(三):ACL 配置持久化1. Python 程序如果你想使用pyth...

2024-02-22 18:00:55 551

原创 微信商城小程序开发费用一览表,教你从 0 到 1 搭建小程序

READING在移动互联网时代,人们的购物方式已经发生了翻天覆地的变化。微信小程序商城应运而生,成为了一种新的购物方式。本文将为您介绍微信小程序商城的特点和优势,以及如何通过微信小程序商城实现个人创业和提升企业销售业绩。提供更好的用户体验:小程序操作简单,加载速度快,用户可以方便地进行商品浏览、下单购买等操作。积累用户活跃度:微信作为国内最大的社交平台之一,具备大量活跃用户,小程序可以借助微信的流...

2024-02-21 18:00:10 420

原创 如何制作一个微信扫码点餐小程序,外卖功能也有吗?

微信扫码点单小程序是一种基于微信小程序平台开发的点餐系统,它允许顾客在餐厅通过扫描桌上的二维码来直接下单。这种系统为餐饮业带来了革命性的变化,不仅提高了效率,也改善了顾客体验。以下是对微信扫码点单小程序的详细介绍:用户体验方面的好处:便捷性:顾客无需等待服务员来点单,只需用手机微信扫描桌上的二维码即可开始点餐。自助服务:顾客可以自主查看菜单、选择菜品、下单和支付,整个过程无需人工干预。实时反馈:顾...

2024-02-21 18:00:10 407

原创 MySQL数据恢复

点击上方蓝字关注我关于数据恢复之前已分享过2篇,链接如下:MySQL数据备份及还原(一)MySQL数据备份及还原(二)今天分享一下binlog2sql,它是一款比较常用的数据恢复工具,可以通过它从MySQL binlog解析出你要的SQL,并根据不同选项,可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。主要用途如下:数据快速回滚(闪回)主从切换后新master丢数据的修复从b...

2024-02-21 18:00:10 1120

原创 为什么需要MDL锁

点击上方蓝字关注我在数据库管理中,元数据(metadata)的保护至关重要,而MySQL中的"元数据锁"(MDL锁)就是它的守护者。1. 什么是MDL锁MDL锁,全名Metadata Lock,是MySQL中一种用于管理元数据访问的锁机制。元数据是指数据库中的对象信息,如表结构、索引等。2. 为什么需要MDL锁在MySQL中,如果没有MDL锁,可能会导致以下问题:并发修改元数据:多个事务同时尝试...

2024-02-20 18:18:29 424

原创 MySQL数据库如何生成分组排序的序号

点击上方蓝字关注我经常进行数据分析的小伙伴经常会需要生成序号或进行数据分组排序并生成序号。在MySQL8.0中可以使用窗口函数来实现,可以参考历史文章有了这些函数,统计分析事半功倍进行了解。而MySQL5.7中由于没有这类函数,该如何实现呢,下面对比MySQL8.0,列举两种情况的实现。1. 数据准备创建一张演示表#创建表CREATE TABLE users ( id INT PRIMAR...

2024-01-29 21:22:43 1379

原创 模糊搜索c1 like '%a%'真的都不能走索引么

点击上方蓝字关注我某DBA:like '%a%'肯定走不了索引的。。。在MySQL数据库使用规范或优化建议中都明确说类似 like '%a%'的写法不走索引。那么,真的是在任何条件下这种写法都不能走索引么?1. 不走索引的情况创建一个测试表并插入测试数据CREATE TABLE test_tb1(id INT PRIMARY KEY ,c1 VARCHAR(10),c2 VARCHAR(20...

2024-01-23 18:18:56 1014

原创 MySQL如何找到使用的是哪个配置文件?

点击上方蓝字关注我一个正在运行的MySQL实例,如何查看对应的配置文件用的是哪一个?如果存在多个文件,生效的顺序是怎么样的?1. 方法一首先可以先选择查看MySQL进程信息来判断使用了哪个配置文件,例如:ps -aux|grep mysqldroot 25628 0.0 0.0 112828 988 pts/0 S+ 19:13 0:00 grep --c...

2024-01-16 19:44:10 1289

原创 简单却强大:MySQL ZEROFILL让编号管理变得更轻松

点击上方蓝字关注我在MySQL中,ZEROFILL是一种用于在数字字段上进行填充零的属性。该属性通常用于确保数字达到指定长度时,左侧用零进行填充。这在某些特定场景下非常有用,例如确保订单号或者其他标识符具有固定的长度。1. 案例演示1.1 语法简介关于ZEROFILL属性是作用于数字类型的列上的,属于列属性,对于的语法简单描述如下:CREATE TABLE your_table ( ...

2024-01-10 21:39:13 1117

原创 如何获取一条SQL语句中涉及的表名

点击上方蓝字关注我在数据库操作和SQL查询的开发过程中,有时候我们为了动态生成查询、进行权限控制、进行查询优化或者其他一些与数据库交互相关、数据库监控等的需求,需要从SQL语句中提取表名。本文分别使用正则表达式和使用SQL解析库的方式来获取。当然实际使用中需要进行优化,本次只是做初步的获取操作。1. 使用正则表达式正则表达式是一种强大的文本匹配工具,通过定义模式,可以从文本中提取...

2023-12-19 18:18:42 1125

原创 Redis权限管理体系(三): ACL 配置持久化

点击上方蓝字关注我前面我们已经了解了ACL用户管理的用途及使用:Redis权限管理体系(一):客户端名及用户名Redis权限管理体系(二):终于等来了Redis权限控制体系ACL但因默认配置中ACL的配置未持久化,因此Redis重启后对应的用户(default用户除外)将丢失,因此建议开启ACL配置的持久化。而ACL的持久化有两种方式,以下分别演示。1. 配置前准备工作重启Redis服务127.0...

2023-12-18 18:18:23 149

原创 Redis权限管理体系(二):终于等来了Redis权限控制体系ACL

点击上方蓝字关注我 Redis在存储系统界的使用排名一直遥遥领先,但Redis6版本之前,一直没有一套较为全面的权限控制体系。而随着Redis6版本被更多人使用后,权限控制系统也逐渐广泛应用起来了,本文就探索一下Redis ACL的主要内容。1. 用户管理Redis用户的创建、查看、修改、删除等主要操作可以按照如下实例进行1.1 创建用户只创建用户,暂时不添加其他权限127.0.0.1:6...

2023-12-12 19:33:29 184

原创 Redis权限管理体系(一):客户端名及用户名

在Redis6之前的版本中,因安全认证的主要方式是使用Redis实例的密码进行基础控制,而无法按照不同的应用来源配置不同账号以及更细粒度的操作权限控制来管理。本文先从client list中的信息入手,逐步了解Redis的客户端名设置、用户设置及权限控制管理。1. 客户端名1.1 查看客户端连接情况在Redis4版本中,使用 client list 命令查看客户端连接情况的时候可...

2023-12-09 18:18:12 381

原创 TDSQL再登巅峰:中国分布式数据库市场份额No1

在快速发展的数字化时代,数据安全与数据处理能力成为各行业发展的重要基石。其中,优秀的数据库技术更是这一基石的核心。近日,全球领先的IT研究和咨询公司IDC发布了一份重量级的报告《IDC MarketScape:中国分布式关系型数据库 2023 年厂商评估》,腾讯云TDSQL在这份报告中被评为领导者类别,从市场份额占用来看,TDSQL已位居国内分布式关系型数据库市场第一的位置。其分布式关...

2023-12-07 18:18:08 156

原创 数据恢复新姿势:使用MySQL Shell进行更高效灵活的数据恢复

上篇文章(转战MySQL Shell!数据库备份新姿势,轻松搞定备份操作!)简单介绍了使用MySQL Shell进行数据库备份,本文基于上文的备份进行数据恢复演示操作。1. 恢复单表因为上次备份的表是testdb1.test1表,如果恢复到当前库,则可以先删除该库中的表,再恢复。1.1 先删除库里的表# mysqlsh -u root -p -S /data/mysql/mysql3306/t...

2023-12-06 19:09:27 315

原创 转战MySQL Shell!数据库备份新姿势,轻松搞定备份操作!

MySQL8.0后续版本中主推使用MySQL Shell进行相关日常管理及维护操作,如果后续移除了mysqldump等命令后,如何进行数据库备份等相关操作呢?本文开始进行数据库备份的操作。1. MySQL Shell 安装1.1 下载可以在MySQL官网进行下载,地址https://dev.mysql.com/downloads/shell/需要根据操作系统类型、版本及glibc版本...

2023-11-30 22:54:38 163

原创 Redis集群架构模式概述(一)

点击上方蓝字关注我 Redis,不仅是数据存储,更是架构的艺术。从主从到哨兵、再到Cluster,每个模式都有着独特的优势。而代理模式,则是应对大规模场景的得力助手。这是一场探险,Redis引领我们穿越在数据存储的未知之旅。本文先简略介绍Redis的几种架构模式,后续合集再逐一进行详细介绍部署、使用及原理。1. 主从模式1.1 简介主从模式是Redis架构中最简单的模式之一,分为主数据库...

2023-11-29 23:00:57 95

原创 数据库SQL小技巧大揭秘:IGNORE选项让你的数据处理更从容

点击上方蓝字关注我在 MySQL 中,IGNORE 是一种在插入或更新数据时处理冲突的选项。具体来说,在 INSERT | UPDATE语句中,IGNORE 的作用是在插入或更新数据时忽略特定的错误,而不导致整个操作失败。另外,IGNORE选项还可以在非空约束、写入的字段内容超过字段长度时进行截断处理等,下面是几个具体的例子。1. 主键或唯一键冲突1.1 初始化测试表并初始化数据my...

2023-11-28 22:35:11 773

原创 MySQL数据库如何实现跨服务器访问数据

点击上方蓝字关注我在使用MySQL数据库时,很多同学经常会问,我能跨服务器访问另一库的数据么?得到的答案很多时候是让人失望的。那么如果真的需要访问,又不想使用拷贝表及数据的方式,可以实现么,又该如何实现呢?1. 如何实现先说结论:在MySQL数据库中,是可以实现跨实例(跨服务器)访问另一个库中表的。实现方法:MySQL数据库的其中一个优点就是插件式管理,因此,可以使用FEDERATED...

2023-11-26 19:18:41 845

原创 构建SQL Server链接服务器:实现跨服务器数据访问及整合

点击上方蓝字关注我在SQL Server数据库管理中,链接服务器是一项强大的功能,允许在一个SQL Server实例中访问另一个SQL Server实例的数据。这种功能为数据库管理员提供了灵活性,使其能够跨不同服务器进行数据交互,开辟了更多的应用场景。本文将介绍链接服务器的作用、何时使用以及通过一个案例详细说明如何在SQL Server中创建和使用链接服务器。1.链接服务器的作用链接服...

2023-11-25 18:18:27 735

原创 SQL Server秘籍:数据分隔解密,数据库处理新境界!

点击上方蓝字关注我在数据数据过程中经常会遇到数据按照一定字符进行拆分,而在不同版本的SQL SERVER数据库中由于包含的函数不同,处理的方式也不一样。本文将列举2个版本的数据库中不同的处理方法。1.使用 XML 方法在SQL SERVER 2016版本之前,因为没有直接进行数据拆分的方法,因此需要通过其他方式来解决,以下是案例:首先,我们考虑以下的案例。我们有一个临时表 #Tab,包含...

2023-11-24 18:53:16 516 1

原创 SQL Server 百万数据查询优化技巧三十则

点击上方蓝字关注我互联网时代的进程越走越深,使用MySQL的人也越来越多,关于MySQL的数据库优化指南很多,而关于SQL SERVER的T-SQL优化指南看上去比较少,近期有学习SQLSERVER的同学问到SQL SERVER数据库有哪些优化建议?本文列举了部分常见的优化建议,具体内容如下:1. 优化建议索引优化:eg:考虑一个订单表 Orders,其中有列 OrderDate 和 ...

2023-11-23 23:06:13 351

原创 Nginx配置文件中的关键字是什么?详细解释来了

点击上方蓝字关注我Nginx 是一款高性能的 Web 服务器软件,同时也是一款反向代理服务器软件。Nginx 的配置文件通常是 /etc/nginx/nginx.conf,以下是一个典型的配置文件,并对其中的关键字进行详细解释。1.配置文件perlCopy codeuser nginx; # 运行 Nginx 的用户worker_processes 1; ...

2023-11-22 21:06:42 164

原创 揭秘MySQL SLEEP()函数:避免这些常见误区,不再被时间迷惑!

点击上方蓝字关注我关于MySQL sleep()函数,很多同学会觉得这个很简单,但是在和研发同学沟通时发现,很多人对此函数存在误解,本文举3个典型的例子进行说明。1.误区一以下SQL的运行结果是什么样的 SELECT NOW(),SLEEP(2),NOW();很多人会认为得到的结果中第二个now()的结果是第一个now()的结果的加2s。但实际运行的结果是什么呢?mysql> SELECT ...

2023-11-21 20:46:35 696

原创 Redis轻松添加从节点:零阻塞、零烦恼,系统性能再飙升

点击上方蓝字关注我生成环境的Redis有时需要替换或添加从节点,如果此时主库较大,添加从节点时将可能因为主节点在做bgsave数据备份时使得主库压力大,从而引起其他操作变慢,进而出现阻塞等操作。那么有什么方法可以尽最大程度地减少对主节点的阻塞和影响呢?1. 措施当向Redis主节点添加从节点时,可以采取以下措施以最大程度地减少对主节点的阻塞和影响:使用初始同步:在添加从节点之前,可以先使用初始...

2023-11-20 22:08:30 138

原创 MySQL存储秘密揭示:CHAR vs.VARCHAR,解锁定长神器的终极选择指南!

点击上方蓝字关注我CHAR和VARCHAR类型在存储和检索方式上有相似之处,但在最大长度以及是否保留尾随空格方面存在差异。1. 存储方面1.1 存储对比CHAR和VARCHAR类型的声明包含一个长度,表示要存储的最大字符数。例如,CHAR(30)可以容纳最多30个字符。CHAR列的长度在创建表时被固定为您声明的长度。长度可以是从0到255的任何值。当存储CHAR值时,它们会被右填充到指定的长度。...

2023-11-19 21:09:50 99

原创 MySQL性能飙升的秘密武器:innodb_lru_scan_depth参数解密!

点击上方蓝字关注我MySQL数据库的性能调优是数据库管理员和开发者们必须面对的挑战,而性能关键的方式在于参数的调优,其中 innodb_lru_scan_depth 是不可忽视的一项。今天我们一起了解这个参数,探讨如何通过调整它来优化数据库性能。1. innodb_lru_scan_depth 到底是何方神圣? innodb_lru_scan_depth参数就像MySQL的一把钥匙,控制着L...

2023-11-18 22:04:40 444

原创 深度优化数据库性能:Linux 内核参数调整解析

点击上方蓝字关注我数据库服务器性能的优化是每个IT团队关注的焦点之一。除了数据库引擎的优化之外,合理调整操作系统的内核参数也是提高数据库性能的关键。本文将解析一些常见的 Linux 内核参数,以及它们在数据库服务器优化中的作用和建议的值。1. 参数说明1.1 关闭 IPv6 支持net.ipv6.conf.all.disable_ipv6 = 1net.ipv6.conf.default.di...

2023-11-16 21:34:37 413

原创 MySQL时间戳2038年灾难:你的数据还能撑过去吗?

点击上方蓝字关注我Timestamp 类型在MySQL中通常用于存储日期和时间。然而,Timestamp类型的一个限制是其存储范围,它使用4字节(32位)整数来表示秒数,从而导致在2038年01月19日03:14:07之后无法正确存储时间戳。这是因为32位整数最大可表示的秒数是2^31 - 1,即2147483647秒,相当于约68年。因此,如果使用了timestamp类型则需要考虑在达到时间范围...

2023-11-14 18:19:02 1977

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除