暂无图片
从库跟主库的undo相差过大/从库的undo过大
我来答
分享
M
msg
2022-02-24
从库跟主库的undo相差过大/从库的undo过大

有一个从库的undo值过大,也不会自动回收
主库的undo值:

  1. undo_001:41M
  2. undo_002:405M
    从库的undo值:
  3. undo_001:1.1G
  4. undo_002:33G

创建一下新的undo文件,在把过大的undo_002设置为inactive,也不会自动回收

±-----------±----------------±-----±-----------±----------±--------------±-----------±--------------±----------±---------------±---------------±--------------±-----------±---------+
| SPACE | NAME | FLAG | ROW_FORMAT | PAGE_SIZE | ZIP_PAGE_SIZE | SPACE_TYPE | FS_BLOCK_SIZE | FILE_SIZE | ALLOCATED_SIZE | SERVER_VERSION | SPACE_VERSION | ENCRYPTION | STATE |
±-----------±----------------±-----±-----------±----------±--------------±-----------±--------------±----------±---------------±---------------±--------------±-----------±---------+
| 4294967152 | innodb_undo_001 | 0 | Undo | 16384 | 0 | Undo | 0 | 0 | 0 | 8.0.18 | 1 | N | active |
| 4294967151 | innodb_undo_002 | 0 | Undo | 16384 | 0 | Undo | 0 | 0 | 0 | 8.0.18 | 1 | N | inactive |
| 4294967277 | undo_003 | 0 | Undo | 16384 | 0 | Undo | 0 | 0 | 0 | 8.0.18 | 1 | N | active |
±-----------±----------------±-----±-----------±----------±--------------±-----------±--------------±----------±---------------±---------------±--------------±-----------±---------+
3 rows in set (0.04 sec)

mysql> show variables like ‘%undo%’;
±-------------------------±-----------+
| Variable_name | Value |
±-------------------------±-----------+
| innodb_max_undo_log_size | 1073741824 |
| innodb_undo_directory | ./ |
| innodb_undo_log_encrypt | OFF |
| innodb_undo_log_truncate | ON |
| innodb_undo_tablespaces | 2 |

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
M
msg
升级问题到: 紧急故障
暂无图片 评论
暂无图片 有用 0
打赏 0
薛晓刚

说明从库有人使用,有大事务。所以差别较大。

暂无图片 评论
暂无图片 有用 0
打赏 0
msg
题主
2022-02-24
没有人使用,用来当备份库跟脚本获取binlog的,对外是隔离的
msg
题主
2022-02-24
我想回收比较大的undo,都不行。
M
msg
作为备份库跟脚本获取binlog,没有业务使用,脚本也不会使用事务 而且我想回收比较大的undo,状态标记了,还等了一天,都没回收。。
暂无图片 评论
暂无图片 有用 0
打赏 0
严少安
暂无图片

您这是云上的环境么?还是这个版本?
8.0.18版本的mysql

暂无图片 评论
暂无图片 有用 0
打赏 0
M
msg
8.0.18版本
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
mysql搭建mgr 如何实现高可用性,部署mgr需要安装其他组件吗?比如mysqlrounter,或者keeperalive 提供漂移
回答 2
目前mgr配合mysqlrouter,proxysql常用方式
MySQL表结构为什么要尽量设定一个主键?
回答 3
已采纳
与innodb存储引擎有关系,当主键构建聚簇索引时,对于数据的增删改查操作,用主键做条件,能够对数据的快速的定位,提高数据操作效率;所以mysql建议分表分库,以空间换时间;https://www.m
在Windows service2008 安装MySQL-8.0.19的版本出现1042的错误!
回答 2
已找到问题了,是hosts文件的设置的问题,目前已安装完成了
mysql主从同步
回答 7
1、主库删除操作不记录binlog。2、从库1部署相同脚本同步删除该表。
MySQL 表 admin 表名 session, 怎么设置可以把session表名设置为不可写 或者只读属性?
回答 1
已采纳
lock table tablename read;
mysql未提交的事务redolog日志会不会被写进redolog磁盘文件?
回答 1
已采纳
会。脏日志 不是只受 innodbflushlogattrxcommit 这个参数控制 刷日志到磁盘有下面几个规则刷日志到磁盘有以下几种规则:1.发出commi
MySQL 在主库上新建库没有同步到备库是什么原因?
回答 1
到从库上showslavestatus看一下不是io断了就是sql断了。也有可能是过滤复制,不是每个库都同步,而是指定的同步。新的不在同步的范围内。
MySQL 中间件用哪个做负载均衡?
回答 2
mysqlrouter吧,配置和使用都很方便
从库意外重启,主从断开
回答 7
也有考虑使一致性验证工具,查到都是在进行锁写下进行,pttablechecksum能不锁定检测吗
mysql IN 太长有什么解决思路?
回答 1
用join或in直接嵌套你的A表子查询