MySQL系统变量和自定义变量的实现示例
目录1 系统变量1.1 查看系统变量1.2 设置系统变量2 自定义变量2.1 设置自定义变量2.2 查看自定义变量2.3 自定义变量的运用2.3.1优化排名语句2.3.2避免重复查询刚刚更新的数据2.3.3统计更新和插入的数量2.3.4确定取值的顺序2.3.5 编写偷懒的UNION2.3.6用户自定义变量的其他用处1 系统变量
1.1 查看系统变量
可以使用以下命令 ...
MySQL主键和外键详细的解释和操作步骤
目录主键(Primary Key)定义特性示例外键(Foreign Key)定义特性示例操作示例使用图形化工具管理主键和外键使用 MySQL Workbench总结主键(Primary Key)和外键(Foreign Key)是关系数据库中用于定义和维护表之间关系的重要概念。以下是详细的解释、示例代码和操作步骤。
主键(Primary Key)
定义
主键是表中的一个或多 ...
查询MySQL用户两种的最常用方法总结
目录前言方法一:使用 MySQL 命令行工具(最直接的方法)1. 查询所有用户列表(核心方法)2. 获取更详细的用户信息3. 以更清晰的格式查看当前用户4. 查看当前登录的用户(会话信息)方法二:使用图形化界面工具(如 phpMyAdmin, MySQL Workbench)重要提示和最佳实践总结前言
查询 MySQL 用户有多种方法,主要分为两大类: ...
MySQL索引失效的原因及实现逻辑
目录前言一、索引存储结构1.1 MyISAM1.2 InnoDB2.1 普通索引二、索引实现逻辑2.1 主键索引查询2.2 二级索引查询三、索引失效3.1 对索引使用左或者左右模糊匹配3.2.对索引使用函数3.3.对索引进行表达式计算2.4.对索引隐式类型转换2.5.联合索引非最左匹配2.6.WHERE 子句中的 OR总结前言
在工作中,为了提高查询速度 ...
MySQL 在哪些场景下不会写 binlog
背景
在 MySQL 中,慢日志不仅可以记录在文件中,还可以记录在表中。具体是记录在文件还是表中是由log_output参数决定的。
该参数默认为FILE,即慢日志默认会记录在文件中。如果参数中包含TABLE,则慢日志还会记录在mysql.slow_log中,而mysql.slow_log使用的是 CSV 存储引擎。
最初研究这一问题,是为了确认在主从复制以及 ...
一文简单介绍mysql的事务、锁以及MVCC
目录四种隔离级别MVCC快照读/当前读锁和MVCC对比总结 四种隔离级别
一般默认是RR,即可重复读。如果是互联网公司,为了避免锁等待,一般是RC。
读未提交(Read Uncommitted)会导致脏读。读到了其他事务还没提交的数读已提交RC(Read Committed)一个事务只能读取到其他事务已经提交的更改。会导致不可重读:由于另一 ...
MySQL锁等待超时错误详细解释原因和解决方案
目录核心原因详细原因分析解决方案1. 立即处理(治标)2. 长期优化(治本)总结关键字段解释如何分析结果1. 识别问题事务2. 重点关注的情况锁等待事务(trx_state = 'LOCK WAIT')长时间运行事务(RUNNING状态但运行时间很长)3. 实际分析示例4. 进一步定位阻塞关系5. 处理建议阻塞事务 可能产生的原因1. 事务设计问题 ...
MySQL启动失败及权限问题的解决方案分享
目录前言一、常见错误信息二、问题分析三、解决方案1. **修复文件权限**2. **调整文件和目录权限**3. **检查 MySQL 用户权限**4. **查看 MySQL 错误日志**四、总结前言
在使用 Homebrew 安装并启动 MySQL 时,用户可能会遇到启动失败的情况。一个常见的错误信息是关于权限不足或文件无法访问的问题,尤其是 `binlog.index` ...
Windows下MySql 9.5.0(2025)安装步骤
Mysql官网下载地址:
https://dev.mysql.com/downloads/mysql/
选择好版本,下载安装版
下载完成后启动安装,next
next
一般选择完整安装
安装
next
选择安装目录
选择数据库类型,一般选择server
网络和端口设置,通常默认就可以了
设置root用户的密码,下面创建用户可以留到安装完成后再创建,先不添加。
一般 ...
MySQL内置函数全解析
目录一、内置函数是什么?二、日期函数三、字符串函数四、数学函数五、其它函数一、内置函数是什么?
内置函数可以理解为 MySQL 写好放入“工具箱”里的小工具,你不需要知道这些工具内部是怎么制造的,只需要知道给它什么,它还你什么。
二、日期函数
CURRENT_DATE():问数据库,“今天是几号?”,然 ...
MySQL内置函数全解析
目录一、内置函数是什么?二、日期函数三、字符串函数四、数学函数五、其它函数一、内置函数是什么?
内置函数可以理解为 MySQL 写好放入“工具箱”里的小工具,你不需要知道这些工具内部是怎么制造的,只需要知道给它什么,它还你什么。
二、日期函数
CURRENT_DATE():问数据库,“今天是几号?”,然 ...
mysql中on duplicate key update的用法及说明
目录1、应用场景2、基础使用语法2.1 假设此时我们表中没有数据2.2 有数据后再次执行3、批量插入4、Mybatis中的写法5、情景模拟总结1、应用场景
日常开发中,对于一个数据想做到存在即更新,不存在则新增,通常的做法是先查询数据库中是否存在对应的数据,如果存在就使用更新的方法,不存在就使用新增的方法
如果是单 ...
MySQL中多表查询的方式总结
目录一、先明确:为什么必须掌握多表查询?二、先铺垫:多表查询的基础前提三、核心多表查询方式拆解方式 1:JOIN 连接查询1.1 内连接(INNER JOIN / JOIN)1.2 左外连接(LEFT JOIN / LEFT OUTER JOIN)1.3 右外连接(RIGHT JOIN / RIGHT OUTER JOIN)1.4 交叉连接(CROSS JOIN,极少用)方式 2:子查询(嵌套查询,适合简 ...
MySQL中给字段添加唯一约束的方式汇总
目录一、先明确:为什么必须掌握唯一约束?二、先铺垫:什么是 MySQL 唯一约束?三、核心:添加唯一约束的 3 种方式方式 1:创建表时添加唯一约束1.1 单列唯一约束(单个字段值唯一)1.2 多列唯一约束(联合唯一,多个字段组合值唯一)方式 2:修改表时添加唯一约束(表已存在时使用)2.1 给单列添加唯一约束2.2 给多列添加 ...
一次mysql迁移至OceanBase操作实战记录
目录前言源库导出前的配置及导出脚本处理导出后的SQL文件目标OceanBase准备及导入操作文参考文档:前言
mysqldump 是 MySQL 数据库系统中的一个命令行工具,用于创建 MySQL 数据库的逻辑备份。它能够导出数据库的结构和数据为 SQL 语句文件,这个文件可以用于恢复数据库或在其他服务器上重建数据库。
PS:本次迁移使用了最 ...
一次mysql迁移至OceanBase操作实战记录
目录前言源库导出前的配置及导出脚本处理导出后的SQL文件目标OceanBase准备及导入操作文参考文档:前言
mysqldump 是 MySQL 数据库系统中的一个命令行工具,用于创建 MySQL 数据库的逻辑备份。它能够导出数据库的结构和数据为 SQL 语句文件,这个文件可以用于恢复数据库或在其他服务器上重建数据库。
PS:本次迁移使用了最 ...
宝塔服务器的mysql数据库自动备份到gitee项目
目录gitee创建数据库备份项目宝塔开启备份所有数据库的计划任务服务器下载脚本并设置相关功能宝塔设置自动定时上传本人有个不太好的习惯,每次项目的数据库都是在线上创建,Navicat 连接线上数据库进行处理,最近有一个项目需要二次升级,发现老项目部署的服务器到期了,完蛋,数据库咩了!!!
只能自己手动补充,唉 ...
宝塔服务器的mysql数据库自动备份到gitee项目
目录gitee创建数据库备份项目宝塔开启备份所有数据库的计划任务服务器下载脚本并设置相关功能宝塔设置自动定时上传本人有个不太好的习惯,每次项目的数据库都是在线上创建,Navicat 连接线上数据库进行处理,最近有一个项目需要二次升级,发现老项目部署的服务器到期了,完蛋,数据库咩了!!!
只能自己手动补充,唉 ...
MySQL 压测实战之sysbench 从入门到精通(最新)
目录一、sysbench 基础介绍1. 安装 sysbench二、sysbench 压测 MySQL 核心流程1. 核心参数说明(通用)2. 提前准备 MySQL 环境三、常用压测场景实战场景 1:读写混合压测(oltp_read_write)场景 2:其他常用场景(仅替换核心参数)四、压测结果解读(核心指标)五、压测注意事项总结你想全面了解如何使用 sysbench 对 MySQ ...
MySQL 压测实战之sysbench 从入门到精通(最新)
目录一、sysbench 基础介绍1. 安装 sysbench二、sysbench 压测 MySQL 核心流程1. 核心参数说明(通用)2. 提前准备 MySQL 环境三、常用压测场景实战场景 1:读写混合压测(oltp_read_write)场景 2:其他常用场景(仅替换核心参数)四、压测结果解读(核心指标)五、压测注意事项总结你想全面了解如何使用 sysbench 对 MySQ ...