MySQL
mysql
qq13650793239
这个作者很懒,什么都没留下…
展开
-
mysql 日志之redo log (重做日志)
redo log ,具体来说,当有一条记录需要更新的时候,InnoDB 引擎就会先把记录写到 redo log(文件)里面,并更新内存,这个时候更新就算完成了。同时,InnoDB 引擎会在适当的时候,将这个操作记录更新到磁盘里面,而这个更新往往是在系统比较空闲的时候做。MySQL 里经常说到的 WAL 技术,WAL 的全称是 Write-Ahead Logging,它的关键点就是先写日志,再写磁盘。redo log 写入机制 事务在执行过程中,生成的 redo log 是要先写到 re...原创 2020-05-15 16:11:26 · 205 阅读 · 0 评论 -
mysql 空事务
今天遇到mysql锁表,出现空事务。查找了很多问题不知道这个空事务是怎么产生的,先记录一下原创 2020-01-14 17:25:32 · 790 阅读 · 1 评论 -
数据库事务和锁——INNODB_LOCKS, INNODB_LOCK_WAITS, INNODB_TRX表的简单介绍
INNODB_LOCKS, INNODB_LOCK_WAITS, INNODB_TRX是MYSQL中事务和锁相关的表。通常我们遇到事务超时或锁相关问题时,直接运行下面SQL语句即可进行简单检查:--查看事务select * from information_schema.INNODB_TRX;--查看锁select * from information_schema.INNODB_...转载 2020-01-14 17:14:54 · 1303 阅读 · 0 评论 -
linux 系统kill mysql 后自动重启数据库
背景: 最近linux 系统由于程序bug导致数据库操作异常、程序、自建数据库占用大量内存,将系统资源耗尽,系统kill正在申请内存的程序(mysql和异常程序进程)。mysql崩溃后自动恢复(这里不明白为什么会自动恢复)1、系统message日志显示内存耗尽、数据库进程被kill2. mysql日志记录数据库崩溃恢复过程2.1 关闭参数:innodb_fast_shutdown...原创 2019-08-31 11:59:55 · 2648 阅读 · 0 评论 -
redis.conf配置文件详解
1.redis.conf配置參数:#############################常规##############################daemonizeyes #是否作为守护进程执行pidfileredis.pid#如以后台进程执行,则需指定一个pid,默觉得/var/run/redis.pid#bind127.0.0.1#绑定主机I...转载 2019-05-30 11:24:07 · 177 阅读 · 0 评论 -
mysql 慢查询详解
https://www.cnblogs.com/saneri/p/6656161.html转载 2019-03-21 19:14:58 · 126 阅读 · 0 评论 -
pt-online-schema-change 清理数据库磁盘碎片和在线更改表结构
一、表碎片产生的原因因为使用delete删除数据的时候,MySQL并不会把数据文件真实删除,而只是将数据文件的标识位删除,也没有整理数据文件,因此不会彻底释放表空间。换句话说,每当我们从表中删除数据时,这段被删除数据的空间就会被留出来,如果又赶上某段时间内该表进行大量的delete操作,则这部分被删除数据的空间就会越来越大。当有新数据写入时,MySQL会再次利用这些被删除的区域,但也无法彻底占...原创 2019-02-18 20:48:55 · 2634 阅读 · 3 评论 -
mysql查询匹配包含字符串
1.正确的方式:判断字段field_A中是否包含23:select * from table_test where FIND_IN_SET("23", field_A) ;2.错误的方式:select * form table_test where field_A like "%23%"3.案例分析:field_A字段:[5,123,223][230,232,233]...转载 2019-01-07 10:57:25 · 16543 阅读 · 0 评论 -
mysql delete删除数据磁盘空间不减少
某天公司腾讯云CDB服务器磁盘空间占用很高,而我们自己查看数据+索引则不多。原来我们日常定时删除操作delete并末释放磁盘空间。 使用delete删除的时候,mysql并没有把数据文件删除,而是将数据文件的标识位删除,没有整理文件,因此不会彻底释放空间。被删除的数据将会被保存在一个链接清单中,当有新数据写入的时候,mysql会利用这些已删除的空间再写入。即,删除操作...原创 2018-12-08 10:59:08 · 5123 阅读 · 0 评论 -
mysql 优化my.cnf参数详解
最近在业务中遇到mysql二进制日志相关问题,这里整理一份线上my.cnf参数配置:[mysqld_multi]mysqld = /usr/local/mysql/bin/mysqld_safemysqladmin = /usr/local/mysql/bin/mysqladmin[mysqld1]socket = /tmp/mysql.sockport = 3306pid-f...原创 2018-09-14 17:43:40 · 785 阅读 · 0 评论 -
Mysql关于InnoDB表误删除掉.frm文件,创建提示Table already exist
Mysql关于InnoDB表误删除掉.frm文件,创建之前存在被删除的表会提示Table already exist在数据库转移,库中有的表需要用到事务,所以引擎设置成了InnoDB,无意间把表的frm文件给删除了,想要删除重建提示创建提示Table already exist,直接创建也会提示此表已经存在,这是因为表在 innodb 内部数据字典中已存在,没有相对应的 .frm 文件,在 i...转载 2018-07-18 16:19:37 · 3921 阅读 · 0 评论 -
mysql查询数据库表、索引大小排序
说明:通过MySQL的 information_schema 数据库,可查询数据库中每个表占用的空间、表记录的行数;该库中有一个 TABLES 表,这个表主要字段分别是:TABLE_SCHEMA : 数据库名TABLE_NAME:表名ENGINE:所使用的存储引擎TABLES_ROWS:记录数DATA_LENGTH:数据大小INDEX_LENGTH:索引大小其他字段请参考My...原创 2018-07-21 10:39:11 · 3075 阅读 · 0 评论