-
mysql亿级大表重构方案解说
所属栏目:[编程] 日期:2022-03-29 热度:55
mysql亿级大表重构方案介绍 生产环境favourite表5.8亿,情况如下: 表名 表结构 rows 数据库版本 favourite CREATE TABLE `favourite` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `target_type` int(11) NOT NULL, `target_id` i[详细]
-
MySQL自增列主从不一致的测验
所属栏目:[编程] 日期:2022-03-29 热度:120
MySQL里面有一个问题尤其值得注意,那就是自增列的重复值问题,之前也简单分析过一篇,但是在后续我想了下,还有很多地方需要解释,一个就是从库的自增列是如何维护的,是否重启从库,自增列会受到影响。 我们继续来测试一下。首先复现这个问题。 创建表t1,[详细]
-
Percona Toolkit 装置
所属栏目:[编程] 日期:2022-03-29 热度:124
Percona Toolkit(pt工具)是一组用于维护数据库的命令行工具, 大部分是Perl脚本, 其连接数据库, 需要DBI和DBD::mysql的支持. 直接使用yum安装这两个软件包就行. # yum install perl-DBI perl-DBD-MySQL 安装pt工具的依赖后, 就是安装pt本身了(percona-toolkit[详细]
-
mysql timeout
所属栏目:[编程] 日期:2022-03-29 热度:50
wait_timeout 等待超时,那mysql等什么呢?确切的说是mysql在等用户的请求(query),如果发现一个线程已经sleep的时间超过wait_timeout了那么这个线程将被清理掉,无论是交换模式或者是非交换模式都以此值为准,wait_timeout是session级别的变量 net_write_ti[详细]
-
MYSQL innodb buffer 状态数据的保存和载入
所属栏目:[编程] 日期:2022-03-29 热度:199
本文参考官方手册 原创转载请注明出处 当数据库重启后,buffer中的数据需要重新预热,所谓预热就是等待常用数据通过用户调用SQL语句从磁盘载入到内存, 这个过程ORACLE中叫做物理读取,对于较大的平台这个预热过程往往需要较大的代价,典型的就是第一次运行[详细]
-
SQL查询集合返回为 null,null 的问题研究
所属栏目:[编程] 日期:2022-03-29 热度:95
在Java项目中通过Mybatis查询数据库某个表的部分字段,方回值为listT 。有时候会出现 [ null ,null ] 现象。 具体原因是查询SQL只是取部分字段,而且这几个字段是 null。 但对于数据库表的其他字段来说,查询却是有值的,只是恰巧你查询的字段为Null。 执行[详细]
-
mysql恢复drop表
所属栏目:[编程] 日期:2022-03-29 热度:171
drop误操作删除表后,恢复的大概流程是 1、从备份中将表恢复到备份时间点 2、找到drop操作点 3、从binlog中找到备份点到drop点中间所有事件,并筛选出该表的事件 4、执行找到该表的事件 一、实验数据: mysql select * from sale; +--------+---------+-----[详细]
-
总结了这些简单的MySQL命令
所属栏目:[编程] 日期:2022-03-29 热度:54
小长假好快就结束了,我相信好多小伙伴和我一样,感觉还没有休息够,就结束了,休息的有点赶脚。 我在厂家之余为大家总结了一些关于MySQL的一些内容,现在我分享给大家。 对于初学MySQL的童鞋来说,可能会需要下面的一些简单的MySQL命令: 如何确定MySQL是否[详细]
-
mysql锁等待查询分析
所属栏目:[编程] 日期:2022-03-29 热度:142
mysql锁等待分析 1、简单说明 使用innodb存储引擎后,mysql有三张表来分析锁及阻塞的问题,在information_schema下面有三张表:INNODB_TRX、INNODB_LOCKS、INNODB_LOCK_WAITS,通过这三张表,可以更简单地监控当前的事务并分析可能存在的问题。 mysql show ta[详细]
-
Percona MySQL 5.5 Linux通用二进制包安装 CentOS 6.9
所属栏目:[编程] 日期:2022-03-29 热度:121
创建软件安装目录 mkdir /mysql_software_55 下载软件 Percona官网的下载页面有两个二进制Tar包,分别对应不同的发行版本 ssl100 - Debian/Ubuntu ssl101 - for CentOS 6 and CentOS 7 解压安装包 tar xvfz Percona-Server-5.5.58-rel38.10-Linux.x86_64.ssl[详细]
-
mysql 5.6.25报错ERROR 1372 HY000 Password hash 的一点思考
所属栏目:[编程] 日期:2022-03-29 热度:74
问题背景: 之前使用的一套mysql 5.6.25,由于一些原因我进行了清除。大家知道我们第二次执行mysql_install_db初始化数据库时,是不会存储root的临时密码。 那么要进入mysql数据库,就引入如下的一篇文章。 案例过程: 以无密码认证方式启动数据库 [root@sta[详细]
-
mysql explain执行计划解说
所属栏目:[编程] 日期:2022-03-29 热度:55
mysql explain执行计划解说: 1)、id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。 2)、select_type列常见的有: A:simple:表示不需要union操作或者不包含子查询的简单sel[详细]
-
什么时候可以考虑利用MySQL MEMORY引擎
所属栏目:[编程] 日期:2022-03-29 热度:77
通常使用MEMORY涉及到以下特性: 1.操作相关的短暂的,非重要数据的管理或者cache,当MySQL进程夯住或服务重启,MEMORY表的数据就会丢失。 2.内存存储访问快速,并且延迟低。数据可以填充到内存不会导致操作系统swap到虚拟内存。 3.只读或者读多的数据访问模[详细]
-
MySQL 5.7中新增sys schema后,会有什么变化
所属栏目:[编程] 日期:2022-03-29 热度:75
MySQL 5.7中引入了一个新的sys schema,sys是一个MySQL自带的系统库,在安装MySQL 5.7以后的版本,使用mysqld进行初始化时,会自动创建sys库,sys库里面的表、视图、函数、存储过程可以使我们更方便、快捷的了解到MySQL的一些信息,比如哪些语句使用了临时表[详细]
-
关于mysql中root权限丢失的问题
所属栏目:[编程] 日期:2022-03-29 热度:78
听说执行了一条语句:revoke all on *.* from root@localhost; --呵呵,当时到底是怎样的心理活动,这是怎样的恨。。。 于是小菜就做了一个实验,心里感觉应该和密码丢失后跳过权限重新设置密码的解决方法是一样的,当然这只是思路,试试才知道。 首先停止数[详细]
-
MySQL 5.6对大表做归档
所属栏目:[编程] 日期:2022-03-29 热度:182
环境:MySQL 5.6 主从环境(Keepalived架构) 4000W行大表进行历史数据归档。 方案:为尽量降低对业务影响,决定采取下列方案。 1、在主库建立 2016、2017、2018、2019的4个历史表结构。 2、在从库建立test库,并建立 2016、2017、2018、2019的4个历史表结构[详细]
-
MySQL5.7新版本的运维,性能和新特性介绍
所属栏目:[编程] 日期:2022-03-29 热度:74
运维 在线启停GTID 在线配置Replication Filter,无需重启 Change Master到另外一个主库无需停止apply线程 Change Master修改一些日志apply属性(例如master_delay)无需停止IO线程 增加大量Performance Schema表用于监控复制 性能 更好的复制性能(logical_c[详细]
-
计算mysql buffer的命中率及使用率
所属栏目:[编程] 日期:2022-03-29 热度:105
MyISAM Key buffer命中率: 100 - ( (Key_reads * 100) / Key_read_requests ) MyISAM Key buffer的使用率: 100 - ( (Key_blocks_unused * key_cache_block_size) * 100 / key_buffer_size ) InnoDB Buffer Pool 的命中率 (Innodb_buffer_pool_read_request[详细]
-
msyql 的半同时复制
所属栏目:[编程] 日期:2022-03-28 热度:69
mysql的半同步复制: mysql的异步复制:mysql默认使用异步方式进行同步,master在执行客户端提交的事务后会将结果返回给客户端,表示客户端的操作已经生效,同时会将该操作的binlog通过dumper通知slave来取,再正常情况下,slave会将该binlog写入本地,并通[详细]
-
mysql备份恢复实例丢失事务解析
所属栏目:[编程] 日期:2022-03-28 热度:62
看到了一篇server id导致mysql备份恢复的时候丢失事务的文章,特此重现一下。 主备开启了GTID,实验过程如下: 1.主库执行: create database test1; create database test2; 2.主从没有延迟后备份,利用从库备份,物理或者逻辑都可以: mysqldump -uroot -p[详细]
-
聊聊MySQL死锁
所属栏目:[编程] 日期:2022-03-28 热度:78
数据越来越和我们的生活离不开,数据在生命周期的各个阶段有着不同的痛点和需求以及特殊场景。 CURD是数据的四大基本需求:写入,更新,读取,删除. 今天,来谈一谈死锁问题 死锁是高并发下MySQL不可回避的一个问题。 这句话可以引申四个问题: 1.什么是死锁?[详细]
-
mysql5.6 — mysql5.7 GTID模式下多源复制之实践案例
所属栏目:[编程] 日期:2022-03-28 热度:158
背景说明:公司有多个mysql实例,单实例多个数据库,而且版本还是5.6,这给数据查询分析增加了不少繁琐的事情。所以推荐使用mysql5.6的实例多源复制到mysql5.7实例下方便数据的查询、分析以及权限的管理 环境说明:10.89.3.224 mysql5.6.39 master1 10.89.3.2[详细]
-
heartbeat 3.0.4-drbd 8.9-Mysql 5.6--双机互备高可用布局
所属栏目:[编程] 日期:2022-03-28 热度:128
heartbeat 3.0.4-drbd 8.9-MySQL 5.6协同工作原理:首先,heartbeat作为高可用的控制角色,负责drbd存储服务目录的挂载(这里,drbd的启动个人理解是随主机启动自动启动的,其作用就是将主节点本地的一块盘与对端备节点的一块盘做数据同步、保证两端主机drbd[详细]
-
mysql innodb 主键INT、BIGINT、VARCHAR并发插入性能比较
所属栏目:[编程] 日期:2022-03-28 热度:165
10个并发共插入10万行 总耗时(s) 第一次 第二次 第三次 NT(-2147483648-2147483647) 198.13 197.25 197.56 BIGINT(-9223372036854775808-9223372036854775807) 195.83 197.75 197.85 VARCHAR[0-65535] 203.95 205.37 202.87 INT与BIGINT相差不大,VARCHAR插[详细]
-
mysql忘记root密码解决方式 linux
所属栏目:[编程] 日期:2022-03-28 热度:50
mysql忘记root密码解决方式: 1.强制关闭mysql # pkill mysql 2.向配置文件添加 [mysqld] skip-grant-tables 3.重启mysql 点击(此处)折叠或打开 # /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql [1] 29335 [root@mysql5 logs][详细]