作者:余振兴,爱可生 DBA 团队成员,热衷技术分享、编写技术文档。作者:陈伟,爱可生 DBA 团队成员,负责 MySQL 日常维护及故障处理。爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。本文约 1400 字,预计阅读需要 4 分钟。1背景在客户现场优化一批监控 SQL 时,发现一批 SQL 使用 sysdate() 作为统计 ......
86
0
0
2024-02-17
​ MySQL是一个 客户端/服务器 架构的软件,对于同一个服务器来说,可以有若干个客户端与之连接,每 个客户端与服务器连接上之后,就可以称为一个会话( Session )。每个客户端都可以在自己的会话中 向服务器发出请求语句,一个请求语句可能是某个事务的一部分,也就是对于服务器来说可能同时处理 多个事务。事务有 隔离性 的特性,理论上在某个事务 对某个数据 ......
95
0
0
2024-02-13
参与了好几个项目开发,每个项目随着业务量的增大,MySQL数据日益剧增,例如其中一个项目中得用户足迹表,那是非常的疯狂,只怪我大意了,没有闪。 这篇文章我会从delete对性能的影响,以及如何以正确的姿势来删除数据。 在MySQL中 Innodb 存储引擎的表存在两部分,一部分是表结构,另一部分是表数据。 在MySQL8.0之前 /var/l ......
95
0
0
2024-02-11
一、Mysql数据库介绍1.1 Mysql介绍MySQL是一个广泛使用的关系型数据库管理系统,是一款开源的数据库管理系统。MySQL使用C和C++语言编写而成,适用于各种不同规模的应用程序,从小型个人应用到大型企业级应用都可以使用。MySQL是跨平台的,支持在多种操作系统上运行,包括Windows、Linux、Unix、macOS等。MySQL提供了多种编程 ......
110
0
0
2024-02-08
🍔函数是指一段可以直接被另一段程序调用的程序或代码⭐字符串函数🎈字符串拼接函数concat('s1','s2'); 🎈把字符串全部变为小写select lower('str'); 🎈把字符串全部变为大写select upper('str'); 🎈字符串左填充select lpad('str',length,'-'); -- 在str左边用-进行填充 ......
97
0
0
2024-02-08
🌺存储引擎简介存储引擎就是存储数据,建立索引,更新,查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也被称为表类型。🎄查询当前数据库支持的存储引擎show engines; 🎄创建表并指定存储引擎create table my_memory( id int, name varchar(10) )engine ......
88
0
0
2024-02-07
随着互联网的发展,网站业务量越来越大,对系统可用性和性能提出了更高的要求。一次系统故障可能会造成巨大的经济损失和负面影响。因此,数据库高可用性成为一个非常重要的话题。MySQL作为最流行的开源数据库,有多种方案可以实现高可用集群,确保数据库服务的可靠性。本文将详细介绍几种常见的MySQL高可用集群搭建方案。MySQL复制方案(Master-Slave)MyS ......
104
0
0
2024-02-07
在学习 SQL语句 之前,首先需要区分几个概念,我们常说的数据库是指数据库软件,例如MySQL、Oracle、 SQL Server 等,而本文提到的数据库是指数据库软件中的一个个用于存储数据的容器。在MySQL中,数据库称为database,数据表称为table,一个数据库软件中有多个数据库(databases),每个数据库中又可以有多个数据表(table ......
121
0
0
2024-02-06
MMM 方案(单主)MySQL 高可用方案之 MMM(Multi-Master Replication Manager)是一种常用的解决方案,用于实现 MySQL 数据库的高可用性和负载均衡。MMM 基于 MySQL 的复制机制,通过在多个 MySQL 实例之间进行主从复制,实现了数据的同步和备份。它的主要特点是可以实现多主复制,即多个 MySQL 实例可以 ......
109
0
0
2024-02-06
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.topMHA架构介绍MHA是Master High Availability的缩写,它是目前MySQL高可用方面的一个相对成熟的解决方案,其核心是使用perl语言编写的一组脚本,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用 ......
75
0
0
2024-02-05
数据库会遭受多种攻击方式,例如,SQL注入、利用缓冲区错误、暴力破解、及网络窃听等等。这一篇主要介绍关于MySQL如何防止网络窃听的方法。MySQL防止网络窃听主要的方法是在所有的连接和传输时都要进行加密,使用SSL/TLS(Secure Socket Layer/ Transport Layer Security)。加密后的传输内容无法被窃听者读取。MyS ......
83
0
0
2024-02-05
1说在前面本文分析了 INSERT 及其变种(REPLACE/INSERT ON DUPLICATE KEY UPDATE)的几个场景的死锁及如何避免:场景一:INSERT 唯一键冲突[1]场景二/三:REPLACE INTO 唯一键冲突(来自线上业务)场景四:INSERT 主键冲突(来自官方案例)其实 Google 一番,也会有大量这样的文章。本文只是就几 ......
98
0
0
2024-01-29
1背景同事问了个 MySQL 的问题,现象上确实诡异。大致意思是 SELECT 表的数据,WHERE 条件是 "a=0",其中 a 字段是 VARCHAR 类型,该字段存在 NULL 以及包含字符的记录,但是并无 "0" 的记录,然后执行 SQL 返回的记录恰恰就是所有包含字符的记录。明明没有 "0" 值记录,却可以返回,而且有规律,这是什么现象?selec ......
94
0
0
2024-01-28
🌟前言无论是在校招、社招,亦或者大学计算机专业、软件工程等相关面试或者考试中,MySQL事务的相关知识都是必不可少的。本文主要为MySQL初学者快速学习MySQL事务保驾护航。🌟什么是事务在维基百科中,对事务的定义是:事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务的四大特性事务包含四大特性,即原子性(Atomi ......
105
0
0
2024-01-27
| 导语记录一次于2023年01月23日遇到的死锁问题。1、基础1.1 数据库隔离级别1.1.1RCREAD COMMITTED:只能读取已经提交的数据;此时:允许幻读和不可重复读,但不允许脏读,所以RC隔离级别要求解决脏读;1.1.2RRREPEATABLE READ:同一个事务中多次执行同一个select,读取到的数据没有发生改变;此时:允许幻读,但不允 ......
98
0
0
2024-01-23