optimizer mysql trace

聊聊MySQL锁

操作 数据库的操作分两类,操作表(DDL)和操作表数据(DML) DDL锁 MySQL5.6以前,没有发布OnlineDDL功能,执行DDL主要是通过copy和inplace,这两种方式都会全程锁表,无法执行DML OnlineDDL就是执行DDL时可以同时执行DML DML锁 DML操作会根据索引 ......
MySQL

linux下安装mysql

1、查看是否已经安装 Mysql rpm -qa | grep mysql 2、上传mysql的安装包到linux下,(.tar.gz版本的) 3、解压安装包 tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz 4、先检查是否有mysql用户组和 ......
linux mysql

Ray Tracing In One Weekend

2. Output an Image PPM文件格式 写PPM文件内容 #include <iostream> int main() { // Image const int image_width = 256; const int image_height = 256; // Render std ......
Tracing Weekend Ray One In

MySQL GTID 主从复制错误修复方法

MySQL 传统的主从复制方式使用 master_log_files 和 master_log_pos 两个参数来确定复制位点。当出现复制错误时,可以设置跳过出错的事务来恢复同步,MySQL 提供了 sql_slave_skip_counter 参数来实现此功能。使用方法如下: root@(none ......
主从 错误 方法 MySQL GTID

Mysql8.0为什么取消了缓存查询的功能

首先我们介绍一下MySQL的缓存机制 【MySQL缓存机制】简单的说就是缓存sql文本及查询结果,如果运行完全相同的SQL,服务器直接从缓存中取到结果,而不需要再去解析和执行SQL。 但如果表中任何数据或是结构发生改变,包括INSERT、UPDATE、DELETE、TRUNCATE、ALTER TA ......
缓存 功能 Mysql8 Mysql

Mysql语法

树形结构通过节点获取节点所有上级(函数) 1 create function get_department_list(in_id int) returns varchar(100) 2 READS SQL DATA 3 begin 4 declare ids varchar(1000); 5 dec ......
语法 Mysql

MySQL使用过程中常见问题的解决

问题1:root用户密码忘记,重置的操作、 1:通过任务管理器或者服务管理,关掉mysqld(服务进程) 2:通过命令行+特殊参数开启mysqld mysqld --defaults-file="D:\ProgramFiles\mysql\MySQLServer5.7Data\my.ini" --s ......
常见问题 常见 过程 问题 MySQL

MySQL: 为什么使用 innobackupex 备份恢复搭建主从时,必须人为设置 gtid_purged 变量

###问题描述: 使用innobackupex 搭建主从的步骤如下: 1.主库使用 innobackupex 备份并 apply-log 2.将备份文件拷贝至从库,从库清空datadir目录,并使用 innobackupex 进行 copy-back 3.从库根据备份目录中的 xtrabackup_ ......

47 直播回顾 | 林晓斌:我的 MySQL 心路历程【无音频】

在专栏上线后的11月21日,我来到极客时间做了一场直播,主题就是“我的MySQL心路历程”。今天,我特意将这个直播的回顾文章,放在了专栏下面,希望你可以从我这些年和MySQL打交道的经历中,找到对你有所帮助的点。 这里,我先和你说一下,在这个直播中,我主要分享的内容: 我和MySQL打交道的经历; ......
心路 历程 音频 MySQL 47

48 结束语 | 点线网面,一起构建MySQL知识网络

时光流逝,这是专栏的最后一篇文章。回顾整个过程,如果用一个词来描述,就是“没料到”: 我没料到文章这么难写,似乎每一篇文章都要用尽所学; 我没料到评论这么精彩,以致于我花在评论区的时间并不比正文少; 我没料到收获这么大,每一次被评论区的提问问到盲点,都会带着久违的兴奋去分析代码。 如果让我自己评价这 ......
点线 结束语 知识 MySQL 网络

26 25 | MySQL是怎么保证高可用的?

在上一篇文章中,我和你介绍了binlog的基本内容,在一个主备关系中,每个备库接收主库的binlog并执行。 正常情况下,只要主库执行更新生成的所有binlog,都可以传到备库并被正确地执行,备库就能达到跟主库一致的状态,这就是最终一致性。 但是,MySQL要提供高可用能力,只有最终一致性是不够的。 ......
MySQL 26 25

25 24 | MySQL是怎么保证主备一致的?

在前面的文章中,我不止一次地和你提到了binlog,大家知道binlog可以用来归档,也可以用来做主备同步,但它的内容是什么样的呢?为什么备库执行了binlog就可以跟主库保持一致了呢?今天我就正式地和你介绍一下它。 毫不夸张地说,MySQL能够成为现下最流行的开源数据库,binlog功不可没。 在 ......
MySQL 25 24

24 23 | MySQL是怎么保证数据不丢的?

今天这篇文章,我会继续和你介绍在业务高峰期临时提升性能的方法。从文章标题“MySQL是怎么保证数据不丢的?”,你就可以看出来,今天我和你介绍的方法,跟数据的可靠性有关。 在专栏前面文章和答疑篇中,我都着重介绍了WAL机制(你可以再回顾下第2篇、第9篇、第12篇和第15篇文章中的相关内容),得到的结论 ......
数据 MySQL 24 23

23 22 | MySQL有哪些“饮鸩止渴”提高性能的方法?

不知道你在实际运维过程中有没有碰到这样的情景:业务高峰期,生产环境的MySQL压力太大,没法正常响应,需要短期内、临时性地提升一些性能。 我以前做业务护航的时候,就偶尔会碰上这种场景。用户的开发负责人说,不管你用什么方案,让业务先跑起来再说。 但,如果是无损方案的话,肯定不需要等到这个时候才上场。今 ......
饮鸩止渴 性能 方法 MySQL 23

mysql如何修改root密码

要修改 MySQL 的 root 用户密码,可以按照以下步骤进行操作: 使用 root 用户登录 MySQL: mysql -u root -p 输入当前 root 用户的密码,进入 MySQL 命令行界面。 执行以下 SQL 语句来修改密码: ALTER USER 'root'@'localhos ......
密码 mysql root

13 12 | 为什么我的MySQL会“抖”一下?

平时的工作中,不知道你有没有遇到过这样的场景,一条SQL语句,正常执行的时候特别快,但是有时也不知道怎么回事,它就会变得特别慢,并且这样的场景很难复现,它不只随机,而且持续时间还很短。 看上去,这就像是数据库“抖”了一下。今天,我们就一起来看一看这是什么原因。 你的SQL语句为什么变“慢”了 在前面 ......
MySQL 13 12

11 10 | MySQL为什么有时候会选错索引?

前面我们介绍过索引,你已经知道了在MySQL中一张表其实是可以支持多个索引的。但是,你写SQL语句的时候,并没有主动指定使用哪个索引。也就是说,使用哪个索引是由MySQL来确定的。 不知道你有没有碰到过这种情况,一条本来可以执行得很快的语句,却由于MySQL选错了索引,而导致执行速度变得很慢? 我们 ......
索引 有时候 MySQL 11 10

MySQL常用命令

查询所有数据库名![image] show databases;(https://img2023.cnblogs.com/blog/2805463/202304/2805463-20230420144431240-201364771.png) (使用哪个数据库)use [database name] ......
命令 常用 MySQL

MySQL实战45讲-大纲

1 开篇词 | 这一次,让我们一起来搞懂MySQL 2 01 | 基础架构:一条SQL查询语句是如何执行的? 3 02 | 日志系统:一条SQL更新语句是如何执行的? 4 03 | 事务隔离:为什么你改了我还看不见? 5 04 | 深入浅出索引(上) 6 05 | 深入浅出索引(下) 7 06 | ......
大纲 实战 MySQL

1 开篇词 | 这一次,让我们一起来搞懂MySQL

你好,我是林晓斌,网名“丁奇”,欢迎加入我的专栏,和我一起开始MySQL学习之旅。我曾先后在百度和阿里任职,从事MySQL数据库方面的工作,一步步地从一个数据库小白成为MySQL内核开发人员。回想起来,从我第一次带着疑问翻MySQL的源码查到答案至今,已经有十个年头了。在这个过程中,走了不少弯路,但 ......
开篇 MySQL

MySQL8.0安装

![image](https://img20 05463/202304/2805463-20230420144201140-133172861.png) ![image](https://img20 05463/202304/2805463-20230420144211770-1620653463. ......
MySQL8 MySQL

MySQL 优化

Mysql优化 总的来说就是尽量提高索引的利用率,和减少全表扫描 尽量拆分查询,在程序中处理,一般不要过多连表 链接查询一般都是用左小表链接右大表,看情况用左链接还是内连接 利用redis进行缓存,并提高缓存命中 使用explain进行检查 检查索引使用情况,尽量将条件放入索引中,并尽量保证输出见过 ......
MySQL

MySQL InnoDB Architecture 简要介绍

MySQL InnoDB 存储引擎整体架构图: 一、内存存储结构 1、Buffer Pool buffer pool 是主内存中的一块儿存储区域,用于存储访问的表及索引数据。这样从内存中直接访问获取使用的数据可以极大的提升访问效率。在一些特殊专用的服务里,几乎 80% 的内存区域都被赋于 buffe ......
简要 Architecture InnoDB MySQL

Oracle MySQL Server 拒绝服务漏洞(CVE-2023-21912) 修复

|CVE编号|公告标题和摘要|最高严重等级|受影响的软件| |-|-|-|-| |CVE-2023-21912|Oracle MySQL Server拒绝服务漏洞未经身份验证的远程攻击者可通过MySQL协议网络访问MySQL Server,成功利用此漏洞可导致目标MySQL Server挂起或频繁重 ......
漏洞 Oracle Server MySQL 21912

Oracle MYSQL Server 安全漏洞(CVE-2022-32221)

https://blog.csdn.net/weixin_45410876/article/details/124777690 https://blog.csdn.net/ljfrocky/article/details/113758188 升级系统的curl命令到最新版 前言 因为业务需要,服务器 ......
安全漏洞 漏洞 Oracle Server MYSQL

提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)

对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置 ......
索引 经验 数据 mysql Mysql

mysql,redis,mongodb常用命令

MySQL常用命令: 1. mysql -u username -p:以指定用户身份登录 MySQL 数据库。 2. show databases:列出所有数据库。 3. use database_name:选择指定的数据库。 4. show tables:列出当前数据库中的所有表。 5. desc ......
命令 常用 mongodb mysql redis

超实用的 MySQL 语句写法

1. 插入或替换 有时候,在向数据库中插入数据时,你可能会想要更新一行数据,而不是添加一行新数据。这时候,可以使用 INSERT OR REPLACE 语句来实现这个目的。示例: INSERT OR REPLACE INTO table_name (id, name, age) VALUES (1, ......
写法 语句 MySQL

MySQL中binlog备份脚本分享

关于MySQL的二进制日志(binlog),我们都知道二进制日志(binlog)非常重要,尤其当你需要point to point灾难恢复的时侯,所以我们要对其进行备份。关于二进制日志(binlog)的备份,可以基于flush logs方式先切换binlog,然后拷贝&压缩到到远程服务器或本地服务器 ......
脚本 备份 binlog MySQL

Mysql常用命令

创建数据库: create database 数据库名; 创建指定字符集数据库: create database 数据库名 default character set utf8; 创建数据表: create table student( Sno int(10) not null auto_incre ......
命令 常用 Mysql