随笔分类 -  MySQL

摘要:一、Flyway 是什么? 我们都知道,Git/ SVN 是代码界的版本控制工具,那么,Flyway 就是一款数据库界的版本控制工具,它可以记录数据库的变化记录。 可能很多公司都是通过人工去维护、同步数据库脚本,但经常会遇到疏忽而遗漏的情况,举个简单的例子: 我们在开发环境对某个表新增了一个字段,而 阅读全文
posted @ 2024-11-21 10:05 雪竹子 阅读(3894) 评论(0) 推荐(1)
摘要:一、常用SQL优化处理 1.1 like查询优化方案 like模糊查询形如'%AAA%'和'%AAA'将不会使用索引,但是业务上不可避免可能又需要使用到这种形式查询方式: 优化方案一: 使用覆盖索引,即查询出的列只是用索引就可以获取,而无须查询表记录,这样也走了索引; 优化方案二: 使用locate 阅读全文
posted @ 2024-03-21 15:29 雪竹子 阅读(74) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/seasonhu/p/14994857.html 阅读全文
posted @ 2023-08-30 18:17 雪竹子 阅读(29) 评论(0) 推荐(0)
摘要:概述 在MySQL中,FORCE INDEX是一种查询提示,用于强制查询优化器使用特定索引来执行查询。查询优化器在执行查询时,会根据统计信息和查询条件等来选择最优的执行计划,包括选择哪个索引来提高查询性能。但有时候查询优化器可能会选择非最优的索引,或者无法识别最适合的索引,这时可以使用FORCE I 阅读全文
posted @ 2023-08-24 15:48 雪竹子 阅读(9425) 评论(0) 推荐(1)
摘要:MySQL USE INDEX简介 索引为你提供了优化查询性能的好方法,它就像一本书的目录,让你能快速找到所需内容,mysql在选择最佳查询方式时,需要考虑很多因素,其中基数是重要的因素之一。基数意味着可以插入列中数值的唯一性。 但是,由于多次插入、更新和删除操作,基数可能会发生变化。您可以定期执行 阅读全文
posted @ 2023-08-24 12:39 雪竹子 阅读(1276) 评论(0) 推荐(0)
摘要:一、概述 MySQL调优工具是用于分析和优化MySQL数据库性能的软件工具。它们可以帮助识别潜在的性能瓶颈、优化查询性能、调整配置参数以及提高数据库的吞吐量和响应时间。今天分享2个常用的工具。 mysqltuner.pl:一款免费的Perl脚本工具,用于检查和优化MySQL服务器的配置参数。MySQ 阅读全文
posted @ 2023-08-23 17:58 雪竹子 阅读(1589) 评论(0) 推荐(0)
摘要:1、mysqldump所需权限 mysql> create user dumper@'%'; mysql> grant select on *.* to dumper@'%'; mysql> grant show view on *.* to dumper@'%'; mysql> grant loc 阅读全文
posted @ 2023-08-23 14:26 雪竹子 阅读(466) 评论(0) 推荐(0)
摘要:一、字符序命名规则 字符序是以对应的字符集名称开头、以_ci(不区分大小写)、_cs(区分大小写)、_bin(按编码值比较,区分大小写)等结尾。字符序的作用就是每种不同的字符集在比较时采用的不同的方法,例如:当会话的collation_connction设置为utf8_general_ci字符序时, 阅读全文
posted @ 2023-07-13 23:23 雪竹子 阅读(97) 评论(0) 推荐(0)
摘要:需求描述 1 、查找超过300s的慢查询会话。 2、kill掉的历史会话保留在文件中 解决方案 #!/bin/bash# 脚本参数定义MYSQL_USER="root"MYSQL_PASSWORD="######"MYSQL_HOST="192.168.209.x"MYSQL_PORT="3307" 阅读全文
posted @ 2023-06-05 17:13 雪竹子 阅读(184) 评论(0) 推荐(0)
摘要:一、MySQL常用的无锁变更工具 Online Schema Change:Online Schema Change(OSC)工具是MySQL官方提供的一种无锁变更工具,它可以在不停止MySQL服务器的情况下对表结构进行修改。OSC利用了InnoDB存储引擎的特性,使用复制和重放日志的方式来实现无锁 阅读全文
posted @ 2023-06-03 11:13 雪竹子 阅读(2006) 评论(0) 推荐(1)
摘要:1.pt-kill 生产环境中我们时常遇到这样的情况,数据库性能恶劣,需要马上杀掉全部会话,不然数据库就挂起来。我们可以先找show processlist的输出来杀会话,但是比较麻烦。pt-kill为我们解决了杀会话问题。 2常用杀会话场景 2.1按照用户杀会话 pt-kill --host=19 阅读全文
posted @ 2023-06-01 10:35 雪竹子 阅读(170) 评论(0) 推荐(0)
摘要:背景 生产环境数据库出现运行时间过长的SQL,会影响数据库性能,如果同时出现多个类似SQL,则会影响数据库的可用性,从而导致业务不可用或体验差的情况。 在出现此类SQL的情况下,DBA人工干预需要一定的时间,在此期间如果SQL量比较大,且业务不停请求时,人工干预比较麻烦,无法及时处理。因此需要借助工 阅读全文
posted @ 2023-05-28 11:55 雪竹子 阅读(438) 评论(0) 推荐(0)
摘要:Check binlog status -- https://github.com/alibaba/canal/wiki/AdminGuide show variables like 'log_bin'; show variables like 'binlog_format'; MySQL Binl 阅读全文
posted @ 2023-05-25 11:53 雪竹子 阅读(282) 评论(0) 推荐(0)
摘要:Check binlog status -- https://github.com/alibaba/canal/wiki/AdminGuide show variables like 'log_bin'; show variables like 'binlog_format'; MySQL Binl 阅读全文
posted @ 2023-05-25 11:53 雪竹子 阅读(282) 评论(0) 推荐(0)
摘要:一、背景规范及目的 MySQL 数据库与 oracle、sqlserver 等数据库相比,有其内核上的优势与劣势。我们在使 用 MySQL 数据库的时候需要遵循一定规范,扬长避短。本规范旨在帮助或指导 RD、QA、OP 等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、S 阅读全文
posted @ 2023-05-02 20:46 雪竹子 阅读(67) 评论(0) 推荐(0)
摘要:背景 最近一个项目上,一台linux需要部署mysql 5.7 多实例,为了加快部署的速度,写了一个脚本。 解决方案 #!/bin/bash #download mysql package package="mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz" ec 阅读全文
posted @ 2023-03-23 15:06 雪竹子 阅读(217) 评论(0) 推荐(0)
摘要:一、背景 最近一个项目上,一台linux需要部署mysql 8.0多实例,为了加快部署的速度,写了一个脚本。 二、解决方案 #!/bin/bash #download mysql package package="mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz" 阅读全文
posted @ 2023-03-22 21:16 雪竹子 阅读(109) 评论(0) 推荐(0)
摘要:背景 MySQL命令行-u -p登陆时,会出现标黄字体的这种警告 解决方案 方案一:将密码写入到主配置文件中 [root@localhost ~]# vim /etc/my.cnf [mysqldump] user=root password=123456 [mysql] user=root pas 阅读全文
posted @ 2023-03-22 15:42 雪竹子 阅读(343) 评论(0) 推荐(0)
摘要:概述 有两种简单的方法可以只备份 MySQL 中的用户和权限 解决方案 1- 使用mysqlpump实用程序(作为创建用户和授权语句) [shell ~]$ mysqlpump -uUSER -p --exclude-databases=% --add-drop-user --users > /tm 阅读全文
posted @ 2023-03-19 20:27 雪竹子 阅读(399) 评论(0) 推荐(0)
摘要:概述 MyISAM引擎的表如何加速表的数据加载 解决方案 MyISAM您还可以使用以下语句而不是myisamchk 来禁用或启用表的非唯一索引 。如果您使用这些语句,则可以跳过这些 FLUSH TABLES操作: ALTER TABLE tbl_name DISABLE KEYS; ALTER TA 阅读全文
posted @ 2023-01-05 14:57 雪竹子 阅读(44) 评论(0) 推荐(0)