从头mysql

源码分析MySQL的"commit"是怎么"commit"的

MySQL的"commit"命令提交事务时,内部会进行两阶段提交,这篇文章基于MySQL 8.0.33源码分析一下MySQL的两阶段提交。 整体逻辑整理如下: Prepare阶段: 1. Binlog Prepare 1.1 获取上一个事务最大的last committed时间戳 2. Innodb ......
quot commit 源码 MySQL

mysql设置字段的排序规则对大小写敏感

在开发中遇到一个问题:在插入一张表中提示主键冲突了,对数据分析了很久,没有发现问题。后面发现是数据库设计的时候设定的排序规则指定的是 COLLATE=utf8_general_ci,而不是用 COLLATE=utf8_bin,这两个规则的区别是什么呢? 1. utf8_general_ci:这个排序 ......
小写 字段 对大 规则 mysql

tomcat+https /mysql+ssl /nginx+https

本文简要介绍CA和证书的基础知识,并演示openssl-1.0.2d的安装,CA证书生成、用户证书申请、使用CA签发用户证书等内容。 实验环境 操作系统:Windows openssl版本:openssl-1.0.2d(官网获取) 1 基础知识 1.1 PKI 为解决Internet的安全问题,世界 ......
https tomcat mysql nginx ssl

mysql开启审计(windows)

环境: OS:windows 2008 DB:mysql 5.7 1.获取到安全审计插件可以下载mariadb后,解压找到server_audit.ddl我这里下载的mariadb版本是10.4.29下载地址:https://mariadb.org/download/ 2.将server_audit ......
windows mysql

MySQL之运算符大全

注:测试建表语句 一:算数运算符 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+)、减(-)、乘(*)、除(/)和取模(%)运算。 注:在MySQL中和NULL进行计算操作的都为NULL;如 SELECT 10 + NULL FROM DUAL 返回 N ......
运算符 大全 MySQL

java访问mysql(查询)

如题,网上随便找的代码。 导入mysql-connector-java-5.1.39-bin.jar。 具体方法,网上说的可行。“在要导入的java项目中新建一个文件夹(一般命名为lib),然后把下载的jar包放进去;选中项目然后右键–>Build Path–>Configure Build Pat ......
mysql java

es mysql 适用场景对比

# es mysql 适用场景对比 ## 问题一 ### 全文检索毫无疑问直接上es,那么除了这种场景,什么时候该选es?为啥mysql不行? #### 对枚举字段的搜索 mysql创建索引的原则是对于那些区别度高字段建立索引,区别度越高的索引,在数据量大的情况下,索引效果越好。 因为mysql建立 ......
场景 mysql es

grafana使用mysql作为数据源

需求 近期在使用python写一套模拟API请求的监控项目,考虑数据可视化这方面就采用grafana来呈现,下面来看看怎么弄。 数据源准备 首先安装好mysql,将监控的日志数据写入到mysql之中。如下图: 好了,这里就已经准备好了相关的测试模拟数据。那么下面就使用Grafana来配置图表看看。 ......
数据源 grafana 数据 mysql

【EXPLAIN】MySQL执行计划分析

[toc] ## 什么是执行计划? **执行计划** 是指一条 SQL 语句在经过 **MySQL 查询优化器** 的优化会后,具体的执行方式。执行计划通常用于 SQL 性能分析、优化等场景。通过 `EXPLAIN` 的结果,可以了解到如数据表的查询顺序、数据查询操作的操作类型、哪些索引可以被命中、 ......
EXPLAIN MySQL

MySQL-日期时间类型比较、互转

【原理】日期、时间类型比较 比较的是时间戳,即long型 【原理】日期、时间类型和字符串比较 当涉及日期类型、时间类型和字符串类型比较时,会先将字符串转换成日期、时间类型,然后进行比较; 例如: date_col < "2020-09-01" ,date_col是date类型,在比较时,会先将"20 ......
日期 类型 时间 MySQL

误删生产数据?利用mysql的Binlog进行恢复操作

# 恢复至某个时间段的Mysql操作,和查看sql重新执行被删sql 如果不小心删除了生产数据,你又想批量恢复, 只要你的mysql开启了binlog,那么是可以恢复的。 1、检查是否开启binlog ```show variables like 'log_%'; ``` 保证为ON,记录下 log ......
数据 Binlog mysql

树莓派上docker 安装 arm 架构mysql

树莓派上docker 安装 arm 架构mysql 第一步:通过docker 下载 mysql docker pull --platform=arm64 mysql/mysql-server 第二步:查看已经安装的镜像 sudo docker images 第三步:创建实例并启动(文件挂载与端口映射 ......
树莓 架构 docker mysql arm

net6 使用 efcore 根据 mysql数据库生成代码

1.vs中下载程序NuGet包Microsoft.EntityFrameworkCore.ToolsPomelo.EntityFrameworkCore.MySql 把这两个安装好就可以了或者你嫌麻烦也可以直接用命令下载 打开 VS2019 "工具" -> "Nuget包管理器" ->"程序包器管理 ......
代码 数据库 数据 efcore mysql

通过 docker-compose 快速部署 MySQL保姆级教程

[TOC] ![](https://img2023.cnblogs.com/blog/1601821/202305/1601821-20230529224714391-1787716387.png) ## 一、概述 `MySQL` 是一种开源的关系型数据库管理系统(`RDBMS`),以其快速、可靠和 ......
docker-compose 保姆 compose 教程 docker

MySQL全面瓦解30:备份与恢复

> [合辑地址:MySQL全面瓦解](https://www.cnblogs.com/wzh2010/category/1859594.html "合辑地址:MySQL全面瓦解") # 1 为什么需要数据库备份 - 灾难恢复:当发生数据灾难的时候,需要对损坏的数据进行恢复和还原 - 需求的变更或者回 ......
备份 MySQL

MYSQL复习

--创建数据库CREATE DATABASE database_name ON [PRIMARY] ( NAME = file_name, FILENAME = 'os_file_name', [SIZE = size,] [MAXSIZE = max_size | UNLIMTED,] [FILE ......
MYSQL

安装mysql 压缩版数据库

1、下载压缩版 压缩包下载地址: https://dev.mysql.com/downloads/mysql/5.5.html#downloads 主要步骤 1、解压文件,切换到bin目录,复制地址 D:\Software\mysql\mysql-8.0.30-winx64\bin 2、在系统变量的 ......
数据库 数据 mysql

MySQL之慢查询sql排查及优化

前言 sql语句优化的方式: 1.尽量少 join 2.尽量少排序 3.尽量避免 select * 4.尽量少 or 5.尽量用 union all 代替 union … (优化的方式有很多,这里就不一一举例了) 当你避免这些问题的时候,为什么sql查询还是这么慢? 排查慢查询sql ps:mysq ......
MySQL sql

11)MySQL编程基础

1、用户会话变量: 会话期间一直有效;但其他的客户机不能访问;一般情况下,用户会话变量的定义与赋值会同时进行; 方法一:使用 set 命令定义用户会话变量,并为其赋值; set @user_variable1=expre1 [,@user_variable2=expre2,...]; 方法二:使用s ......
基础 MySQL

Mysql 字符集问题:utf8与utf8mb4

UTF-8 编码是一种变长的编码机制,可以用1~4个字节存储字符。 MySQL 中的 utf8 编码并不是真正的 UTF-8,其最长只有3个字节。当遇到占4个字节的 UTF-8 编码,例如 emoji 字符或者复杂的汉字,会导致存储异常。 从 5.5.3 开始,MySQL 开始用 utf8mb4 编 ......
字符集 utf8 utf 字符 utf8mb4

Mysql:存储过程

本人工作两年了,连存储过程都不知道是啥,只知道这东西阿里规范是不提倡用的,就没管他了 重新回顾了下Mysql,到存储过程这就略微看下,不打算细学,理解下概念和为啥不用就可以了 # 概念 存储过程**可以理解为由复杂逻辑构成的多个SQL(有if else等)的函数**,只要调用此函数,就可以将内的有一 ......
过程 Mysql

mysql 字符串拼接的几种方式

一:CONCAT(string1,string2,...) 此方法可拼接多个值,如果存在一个为 【null】,则结果返回为【null】 二:CONCAT_WS(separator,string1,string2,...) 可以多个字符串用指定的字符串进行拼接,string1,string2代表的是字 ......
字符串 字符 方式 mysql

面试官:MySQL 自增主键一定是连续的吗?大部分人都会答错!

## 测试环境: > MySQL版本:8.0 数据库表:T (主键id,唯一索引c,普通字段d) ![](http://img.javastack.cn/1685072039483867.png) 如果你的业务设计依赖于自增主键的连续性,这个设计假设自增主键是连续的。但实际上,这样的假设是错的,因为 ......
大部分 MySQL

mysql之sql查询结果集小数保留

客户要求,跟金额相关的数据,打印出来要保留两位小数,比如:13.2/13.200要显示为13.20; 分析: 首先查看数据库中的数据定义,均为decimal(12,2) ,直接通过数据库查询的结果也会保留两位小数,但是代码处理后,却会忽略掉最后一个“零”位。 此处有两个解决方案: 一、 代码中处理, ......
小数 结果 mysql sql

mysql 8 修改默认密码并修改密码策略

1、使用默认密码登陆 2、修改默认密码(必须修改默认密码) ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql@23'; 3、修改默认密码策略 SHOW VARIABLES LIKE 'validate_password%'; set global ......
密码 策略 mysql

Mysql-视图

# 概念 Mysql视图的概念我老忘,原因是实际工作中压根没遇见,也用不到。 视图其实就是一张虚拟表。**根据已有的真实表数据通过加工(截取、合并一张或多张表)而创建的表,但这个表是假的,数据还是来源原始表**。因为对这张表进行增删改时,实际影响的是原数据表 # 作用 在某些公司可能会用到视图,比如 ......
视图 Mysql

MySQL学习进阶篇Day4

2.6 索引使用 2.6.1 验证索引效率 在讲解索引的使用原则之前,先通过一个简单的案例,来验证一下索引,看看是否能够通过索引来提升 数据查询性能。在演示的时候,我们还是使用之前准备的一张表 tb_sku , 在这张表中准备了1000w 的记录。 这张表中id为主键,有主键索引,而其他字段是没有建 ......
MySQL Day4 Day

简单MySQL例子演示MVCC

一沈秋园,满庭霜落,云烟北桥夜连城 MVCC 是多版本并发控制的缩写,是一种数据库和编程语言中常用的并发控制方法。它通过保存数据的历史版本,实现对数据库的高效访问。 MySQL 中 MVCC 主要是通过行记录中的隐藏字段(隐藏主键 row_id,事务ID trx_id,回滚指针 roll_point ......
例子 MySQL MVCC

docker部署ZeLog项目(Tomcat+MySQL+ZrLog)

###一.docker的安装 #####1.1、在安装dockers之前,建议关闭Centos7.9防火墙 `[root@192 ~]# systemctl stop firewalld` `[root@192 ~]# setenforce 0` setenforce是Linux的selinux防火 ......
项目 docker Tomcat ZeLog MySQL

更换Mysql数据库-----基于Abo.io 的书籍管理Web应用程序

###之前公司一直使用的是ASP.NET Boilerplate (ABP),但是当解决方案变得很大时,项目启动就变得非常慢,虽然也想了一些办法,将一些基础模块做成Nuget包的形式,让整个解决方案去引用。但是整个项目还是很臃肿,各个项目之间的耦合性太强,很难将其拆开;无法进行微服务的部署,扩展性差 ......
应用程序 书籍 数据库 程序 数据