InnoDB 将所有表存储在一个大文件中ibdata1。
删除大表后,无论表有多大,文件都会保持其大小。如何缩小该文件而不必转储并重新导入整个数据库(总共有数百 GB)?
我认为原因是因为您仍然可以回滚下降。就我而言,我不需要。
我们有一个应用程序,其中只有一个表将增长到数百万行,而其余的将略低于一百万行。那么我们应该使用 innodb_file_per_table 还是保留一个 .ibd 的建议是什么?我读过一些文章说不要使用它,因为在执行连接时您需要更多磁盘访问权限?为了报告生成目的,我们将在此表和其他表之间进行连接。
我已经安装了一个带有 InnoDB 的 MySQL 集群(随后启用了 innodb_file_per_table),但是由于我切换到 innodb_file_per_table,文件 ibdata1 增长(每月 2GB)。
my.cnf文件是否正确?服务器配置:
Debian 6 amd64
mysql-client-5.1 5.1.61-0+squeeze1
我的 InnoDB 配置文件:
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
innodb_data_home_dir = /var/lib/mysql
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql
innodb_file_per_table
innodb_buffer_pool_size = 5G
innodb_additional_mem_pool_size = 48M
innodb_log_files_in_group = 3
innodb_log_file_size = 512M …Run Code Online (Sandbox Code Playgroud)