首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ibdata1在使用innodb_file_per_table后又变大了,并且缩小了

问ibdata1在使用innodb_file_per_table后又变大了,并且缩小了
EN

Database Administration用户
提问于 2016-04-07 14:22:50
回答 1查看 758关注 0票数 0

在设置了innodb_file_per_table=1之后,转储和删除所有db,删除ibdata1,并重新启动mysql .我的ibdata1文件很小.

但是,直接在我的转储中阅读之后,看到所有表现在都有自己的大型ibd文件(大约15 GB ),但是ibdata1仍然超过2.6GB.

我转储数据的方式是:

代码语言:javascript
复制
mysqldump --tab="D:\Mysql Databases\dumps\dump\%%a" --opt --single-transaction --no-autocommit -u root -p

这将转储到.sql (DDL / table结构)和.txt (实际数据)文件。我可以用以下方法恢复这些文件:

代码语言:javascript
复制
create database myDb;
use myDb;
SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;
SOURCE *.sql; -- for each table
COMMIT;
SET autocommit=0;
LOAD DATA INFILE '*.txt'; -- for each table
COMMIT;
SET autocommit=1;
SET foreign_key_checks=1;
SET unique_checks=1;

为什么ibdata1文件在启用innodb_file_per_table并连续缩小ibdata1之后会再次增长?现在是否有办法再次收回这些数据,因为每个表都已经显示了所有的ibd数据?

例如,我可以在用ibdata1文件重新创建数据库之后复制小的ibdata1文件,并在从*.txt文件中读取数据后将该ibdata1文件放回吗?

以下是my.ini中的非默认项:

代码语言:javascript
复制
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=151
tmp_table_size=256M
thread_cache_size=20
myisam_max_sort_file_size=1G
myisam_sort_buffer_size=32M
key_buffer_size=64M
innodb_log_buffer_size=8M
innodb_buffer_pool_size=6G
innodb_log_file_size=1G
innodb_thread_concurrency=16
innodb_open_files=1000
join_buffer_size=2M
max_allowed_packet=16M
group_concat_max_len = 10M
bulk_insert_buffer_size=512M
collation-server = utf8_unicode_ci
EN

回答 1

Database Administration用户

发布于 2016-04-07 14:37:23

Ibdata1文件包含大量信息,并为不同的无害数据库功能(双写缓冲区、撤消日志、表空间标头等)分配空间。因此,即使使用innodb_file_per_table,也不能删除/替换ibdata1文件。

ibdata能够增长的一个常见原因是它有撤消空间。如果您有长时间运行的事务,则以前版本的行可以很容易地堆积在撤消日志中。有关这方面的更多信息,可以在个人博客:https://www.percona.com/blog/2013/08/20/why-is-the-ibdata1-file-continuously-growing-in-mysql/上阅读。

在MySQL 5.7中,围绕着撤消表空间管理有很多改进,包括截断和单独的文件来保存这一点。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/134672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档