![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 80
小王格子
这个作者很懒,什么都没留下…
展开
-
MySQL 死锁模拟分析
死锁是一种不同事务无法继续进行的情况,因为每个事务都持有另一个需要的锁。因为两个事务都在等待资源变得可用,所以它们都不会释放它持有的锁。转载 2022-09-28 17:50:09 · 745 阅读 · 0 评论 -
MySQL 超大表快速删除
MySQL里面直接对大表执行drop table删除有可能导致MySQL Hang住,对业务造成影响。删除超大表的前提是该表是独立表空间,这样删除才有效。一、表创建一个硬链接# du -sh pay_bills.ibd 175G pay_bills.ibd# 创建硬链接# ln pay_bills.ibd pay_bills.ibd_hdlk二、执行表删除在Linux中,每个存储文件都会有指向该文件的Inode Index,多个文件名可以通过相同Inode Index指向.原创 2022-03-24 19:53:15 · 2577 阅读 · 1 评论 -
MySQL Kill出现Killed死锁处理
记一次线上MySQL出现死锁故障排查处理方式,数据库版本为MySQL 5.6.37。原创 2021-10-26 14:30:31 · 6646 阅读 · 4 评论 -
MySQL GTID多源复制
MySQL GTID 多源复制https://blog.51cto.com/zxdave/2423145原创 2021-08-31 10:21:13 · 348 阅读 · 0 评论 -
MySQL删除InnoDB大表
在使用MySQL时,如果有大表的存储引擎是InnoDB,并且系统参数innodb_file_per_table设置为1,即每个文件对应一个独立的表空间,当对这些大表进行DROP TABLE时,有时会发现整个数据库系统的性能会有显著下降,包括一些只涉及几行数据的简单SELECT查询和DML语句,而且这些语句和正在删除的大表没有关系。造成这种现象的原因是什么呢?通过什么方式能缓解和避免这个问题呢?一、已知瓶颈 Percona曾经在MySQL官方5.5.23之前的版本中遇到过这个问题,并且...转载 2021-08-26 14:41:12 · 501 阅读 · 0 评论 -
MySQL慢查询日志分析
pt-query-digest 属于 Percona Toolkit 工具集中较为常用的工具,可以用于分析binlog、general log、slow log,同时也可以使用 show processlist 或从 tcpdump 抓取的 MySQL 协议数据来进行分析一、工具下载安装官网下载 percona-toolkit工具# 可以通过这个界面下载其他版本# https://www.percona.com/downloads/percona-toolkit/LATEST/ # wg.原创 2021-08-11 15:17:23 · 365 阅读 · 0 评论 -
MySQL 5.7并行复制实现原理
稍微了解过一点的数据的运维就知道MySQL 5.5以及之前是单SQL线程回放,如果Master QPS稍微高点,从上就有延迟了,MySQL5.6是基于库的并行回放机制,只有当多个库的话才有复制才有优势,而5.7是基于组的并行回放,同一组的事务可以并行重放从而解决延迟问题。MySQL 5.7并行复制时代众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL 5.7版本已经支持“真正”的并行复制功能,官方称为为enhanced m.转载 2021-03-25 16:06:23 · 16478 阅读 · 0 评论 -
MySQL事务日志
MySQL事务事务是MySQL区别于NoSQL的重要特征,是保证关系型数据库数据一致性的关键技术。事务可看作是对数据库操作的基本执行单元,可能包含一个或者多个SQL语句。这些语句在执行时,要么都执行,要么都不执行。事务的执行主要包括两个操作,提交和回滚。转载 2021-03-16 18:30:31 · 18178 阅读 · 0 评论 -
MySQL之innodb_log_buffer_size和innodb_log_file_size
xxx原创 2021-03-15 17:45:59 · 25635 阅读 · 2 评论 -
MySQL之Innodb_buffer_pool_size设置
缓冲池的字节大小,InnoDB缓存表和索引数据的内存区域,这个参数对于innodb存储引擎来说至关重要,更大的缓冲池可以减少磁盘I/O来多次访问同一表数据。在专用数据库服务器上,可以将缓冲池大小设置为计算机物理内存大小的80%一、缓冲池相关参数说明Innodb_page_sizeInnoDB页面大小(默认为16KB)。页面中包含许多值;页面大小使它们可以轻松转换为字节。Innodb_buffer_pool_pages_data数页在 InnoDB 缓冲池中包含的数据。该数字包括 脏页和.原创 2021-03-12 17:17:44 · 31309 阅读 · 2 评论 -
MySQL之innodb_flush_log_at_trx_commit和sync_binlog
innodb_flush_log_at_trx_commit和sync_binlog 两个参数是控制MySQL 磁盘写入策略以及数据安全性的关键参数,它们的配置对于mysql 性能有很大的影响.原创 2021-03-11 15:38:56 · 20518 阅读 · 1 评论 -
MySQL 5.7之SQL_MODE设置
MySQL版本从5.6升级到5.7版本以后sql_mode默认为严格SQL格式,所以需要注意 sql_mode模式,否则有些不符合规范的SQL则会插入失败。一、MySQL中5.7中sql_mode参数默认值的几个意思:ONLY_FULL_GROUP_BY对于使用 GROUP BY 进行查询的SQL,不允许 SELECT 部分出现 GROUP BY 中未出现的字段,也就是 SELECT 查询的字段必须是 GROUP BY 中出现的或者使用聚合函数的或者是具有唯一属性的。STRICT_TRA.原创 2021-03-11 11:48:30 · 24412 阅读 · 0 评论 -
MySQL性能压测sysbench
数据库属于核心主键,上线之前,肯定是要性能测试一下,这样到时候出问题心里也有个数,最主要的压力还是在IO上。测试场景1、 表结构CREATE TABLE `sbtest100` ( `id` int(11) NOT NULL AUTO_INCREMENT, `k` int(11) NOT NULL DEFAULT '0', `c` char(120) NOT NULL DEF...原创 2020-02-21 22:43:49 · 14856 阅读 · 1 评论 -
MySQL数据快速导出导入
线上数据是共享表空间,正好因为服务器特性导致不能扩容,索性迁移的时候就把共享表空间改为单独表空间,方便后期拓展。线上数据1.6T,导出的SQL文件约745G。第一次使用官方工具mysqldump导出,导出时间消费5.5小时,再次导入的时候就蛋痛了,因为是单线程的方式,导入时间远远大于预期时间,可能要达到四五天的样子,接受不了,耗时周期长,中间出问题不好续导。一、线上数据导出1、下载安装my...原创 2019-12-27 15:28:52 · 15076 阅读 · 0 评论