ibdata1是mysql使用InnoDB引擎的时候需要用的文g。这个文件有的时候会(x)变得很大Qƈ且在你删除数据的时候,文g也不减小。今天就到?jin)一ơ,D所有的/var分区都被占用光了(jin)?/p> 下面是处理超大ibddata1文g的步骤:(x) 1. Ҏ(gu)张表使用单独的innoDB文g, 修改/etc/my.cnf文g [mysqld] innodb_file_per_table 目的很明,我们可以单独删除每个文g 2. 导出所有的数据Q重建数据库Q然后恢复数据:(x) # /usr/bin/mysqldump -R -q --all-databases > /temp/all.sql # service mysqld stop # rm -fr /var/lib/mysql/* # /usr/bin/mysql_install_db # service mysqld restart # mysql < /tmp/all.sql 3. /var/lib/mysql的每个数据库下面Q都有会(x)很多?ibd文g。这些分散的.ibd文g取代?jin)原来的那个ibddata1?/p> 以后删除数据库的时候,直接删除某个数据库的目录可以了(jin)?/p> ————-华丽的分隔符————- mysql 使用的引擎:(x) mysql> show engines; +------------+---------+----------------------------------------------------------------+ | Engine | Support | Comment | +------------+---------+----------------------------------------------------------------+ | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | | InnoDB | YES | Supports transactions, row-level locking, and foreign keys | | BerkeleyDB | YES | Supports transactions and page-level locking | | BLACKHOLE | NO | /dev/null storage engine (anything you write to it disappears) | | EXAMPLE | NO | Example storage engine | | ARCHIVE | NO | Archive storage engine | | CSV | NO | CSV storage engine | | ndbcluster | NO | Clustered, fault-tolerant, memory-based tables | | FEDERATED | NO | Federated MySQL storage engine | | MRG_MYISAM | YES | Collection of identicalMyISAM tables | | ISAM | NO | Obsolete storage engine | +------------+---------+----------------------------------------------------------------+ 12 rows in set (0.00 sec) For InnoDB tables, OPTIMIZE TABLE is mapped to ALTER TABLE, which rebuilds the table to update index statistics and free unused space in the clustered index. 所以不?x)直接来减少ibdata的文件尺寸?/p> 减少ibdata的方法如?/p> - 1. 用mysqldump{工具导出数?/p> - 2. 停止 mysqld - 3. 删除ibdata*, ib_logfile* 文g - 4. 重新启动 mysqldQ这时mysqld׃(x)自动创徏 idbdata*, ib_logfile* 文gQ?/p> - 5. 到出来的数据导回去Q体U才?x)减?/p> |