暂无图片
mysql中,ibdata文件较大如何能缩小?
我来答
分享
游湖
2023-01-12
mysql中,ibdata文件较大如何能缩小?

mysql中,ibdata文件较大如何能缩小?

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
手机用户5704

设置成独立表空间innodb_file_per_table=1,之后导出数据并导入新的数据库。删除旧的数据库这样就能缩小了,本身的话办法不多

暂无图片 评论
暂无图片 有用 5
打赏 0
暂无图片
大大刺猬

你可以看下ibdata1文件里都是啥(innochecksum --page-type-summary ibdata),
可以把数据单独出去, 把undo也单独出去.

(venv) 14:57:13 [root@ddcw21 ei]#innochecksum --page-type-summary /data/mysql_3308/mysqldata/ibdata1 File::/data/mysql_3308/mysqldata/ibdata1 ================PAGE TYPE SUMMARY============== #PAGE_COUNT PAGE_TYPE =============================================== 444 Index page 53212 Undo log page 614 Inode page 217 Insert buffer free list page 3462 Freshly allocated page 4 Insert buffer bitmap 154 System page 1 Transaction system page 1 File Space Header 3 Extent descriptor page 0 BLOB page 0 Compressed BLOB page 0 Other type of page =============================================== Additional information: Undo page type: 734 insert, 52478 update, 0 other Undo page state: 0 active, 411 cached, 0 to_free, 52327 to_purge, 0 prepared, 474 other
复制
暂无图片 评论
暂无图片 有用 2
打赏 0
L
lelepapa

重新安装一下,每个表空间一个文件就可以了 

暂无图片 评论
暂无图片 有用 3
打赏 0
墨水先生

设置成独立表空间innodb_file_per_table=1迁移一下数据

暂无图片 评论
暂无图片 有用 2
打赏 0
D
dyf1

重新安装一下,每个表空间一个文件就可以了

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
mysql5.7大家生产都用什么版本呀?建议用按个版本好
回答 4
已采纳
5.7都停服了,新的还是上8.0吧,别用最新,用次新。
使用docker+docker-compose部署+nginx+redis+mysql,要怎么安装和怎么统一规范下挂载目录以及相关设置?
回答 1
主要是对nginx的配置文件、redis的配置和数据文件,mysql的my.cnf和数据文件做持久化,然后dockercompose中做好启动顺序的编排即可。
mysql中有子事务吗?
回答 1
好像没有这个概念
MySQL count有必要做冗余吗?
回答 2
已采纳
不知道我对你的问题理解的对不对,简单说下我的想法,仅供参考:innodb的话没必要count冗余吧,InnoDB支持事务,其中大部分操作都是行级锁,所以可能表的行数可能会被并发修改,那么缓存记录下来的
如何使用命令提示符导出mysql数据库?
回答 1
已采纳
mysqlu用户名p密码h数据库的地址不写是本机alldatabase是所有。其实你输入mysqlhelp都有了。
MySQL 8.4.5集群架构设计:A、B机房专线同步与自动切换方案、VPN延迟控制要求
回答 1
建议使用mysql的mgr结构,对外提供统一的访问ip和端口,如果A机房故障,会自动进行切换,业务无感知。这个集群至少需要三个节点。专线延迟的话建议控制在50ms以内,最高不能超过200ms。
MySQL truncate对事务还有索引会不会产生影响?
回答 1
TRUNCATETABLE将在事务块中间导致隐式提交,不影响索引
benchmark跑MySQL,1000仓数据,分别跑了32和100并发,但是发现100并发比32并发还低?
回答 1
已采纳
在官方doc上,对于innodbthreadconcurrency的使用,也给出了一些建议,如下:1.如果一个工作负载中,并发用户线程的数量小于64,建议设置innodbthreadconcurren
问下 MYSQL 删除表的分区 会加什么锁 ?
回答 2
最明显的应该有mdl锁先share后exclusive,表级锁,以及systemlock
mysql主从要设置哪些参数?
回答 1
已采纳
可参考如下文章https://www.modb.pro/db/102916https://www.modb.pro/doc/4052