随笔分类 - MySQL
摘要:一、Flyway 是什么? 我们都知道,Git/ SVN 是代码界的版本控制工具,那么,Flyway 就是一款数据库界的版本控制工具,它可以记录数据库的变化记录。 可能很多公司都是通过人工去维护、同步数据库脚本,但经常会遇到疏忽而遗漏的情况,举个简单的例子: 我们在开发环境对某个表新增了一个字段,而
阅读全文
摘要:https://www.cnblogs.com/seasonhu/p/14994857.html
阅读全文
摘要:一、字符序命名规则 字符序是以对应的字符集名称开头、以_ci(不区分大小写)、_cs(区分大小写)、_bin(按编码值比较,区分大小写)等结尾。字符序的作用就是每种不同的字符集在比较时采用的不同的方法,例如:当会话的collation_connction设置为utf8_general_ci字符序时,
阅读全文
摘要:Check binlog status -- https://github.com/alibaba/canal/wiki/AdminGuide show variables like 'log_bin'; show variables like 'binlog_format'; MySQL Binl
阅读全文
摘要:一、背景规范及目的 MySQL 数据库与 oracle、sqlserver 等数据库相比,有其内核上的优势与劣势。我们在使 用 MySQL 数据库的时候需要遵循一定规范,扬长避短。本规范旨在帮助或指导 RD、QA、OP 等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、S
阅读全文
摘要:背景 最近一个项目上,一台linux需要部署mysql 5.7 多实例,为了加快部署的速度,写了一个脚本。 解决方案 #!/bin/bash #download mysql package package="mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz" ec
阅读全文
摘要:一、背景 最近一个项目上,一台linux需要部署mysql 8.0多实例,为了加快部署的速度,写了一个脚本。 二、解决方案 #!/bin/bash #download mysql package package="mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz"
阅读全文
摘要:背景 MySQL命令行-u -p登陆时,会出现标黄字体的这种警告 解决方案 方案一:将密码写入到主配置文件中 [root@localhost ~]# vim /etc/my.cnf [mysqldump] user=root password=123456 [mysql] user=root pas
阅读全文
摘要:概述 pt-archiver - Archive rows from a MySQL table into another table or a file. pt-archiver nibbles records from a MySQL table. The --source and --dest
阅读全文
摘要:某日,路上收到用户咨询,为了清除空间,想删除某200多G大表数据,且已经确认此表不再有业务访问,于是执行了一条命令‘delete from bigtable’,但好长时间也没删完,经过咨询后,获知drop table删除表速度快,而且能彻底释放空间,于是又在另外一个session中执行了‘drop
阅读全文
摘要:你是否曾在 SELECT 查询中看到过 WHERE 1=1 条件。我在许多不同的查询和许多 SQL 引擎中都有看过。这条件显然意味着 WHERE TRUE,所以它只是返回与没有 WHERE 子句时相同的查询结果。此外,由于查询优化器几乎肯定会删除它,因此对查询执行时间没有影响。那么,WHERE 1=
阅读全文
摘要:背景信息 MySQL 5.5版本开始,引入了MDL锁,用于解决或者保证DDL操作与DML操作之间的一致性,但是在部分场景下会出现阻塞,例如执行DML操作时执行ALTER操作、存在长时间查询时执行ALTER操作等。 出现场景 创建、删除索引。 修改表结构。 表维护操作(optimize table、r
阅读全文
摘要:问题描述 您是否曾经试图杀死一个查询,但它并没有消失,而是在运行的查询中停留了很长一段时间?或者你注意到一些被标记为被杀死的线程不时出现并且实际上并没有死亡。这些僵尸线程是什么?为什么 MySQL 有时似乎无法快速终止查询?本章对此问题进行剖析。 Threads and connections My
阅读全文
摘要:收到mysql主从中断报警邮件,马上登上服务器查看,发现是中继日志损坏。 Show slave status\G,提示中继日志损坏,按以往的做法,根据提示重新指定合适的日志文件以及pos点。 Relay log read failure: Could not parse relay log even
阅读全文
摘要:概述 分享一下工作中常见的mysql脚本,此次分享的内容如下: Columns Views 一、Columns 1.1 列出 MySQL 数据库中的表列 select tab.table_schema as database_schema, tab.table_name as table_name,
阅读全文
摘要:概述 分享一下工作中常见的mysql脚本,此次分享的内容如下: Databases tables 一、Databases and schemas 1.1 列出了 MySQL 实例上的用户数据库(模式) select schema_name as database_name from informat
阅读全文
摘要:The query below lists tables in the user databases (schemas) without primary keys. select tab.table_schema as database_name, tab.table_name from infor
阅读全文
摘要:MySQL主从复制中问题排查过程 一、概述 mysql主从是常用的高可用架构之一,也是使用最广泛的的系统架构。在生产环境中mysql主从复制有时会出现复制错误问题。MySQL主从复制中的问题(Coordinator stopped beacause there were errors in the
阅读全文
摘要:#!/bin/bash #全备方式,一般在从机上执行,适用于小中型mysql数据库 #删除15天以前备份 source /etc/profile #加载系统环境变量 source ~/.bash_profile #加载用户环境变量 set -o nounset #引用未初始化变量时退出 #set -
阅读全文
摘要:问题描述 主从同步报如下错误: Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: ‘Slave has more GTIDs than the master has, using th
阅读全文