Mysql優化ibdata1大小

在MySQL數據庫中,若是不指定innodb_file_per_table參數來單獨存在每一個表的數據,MySQL的數據都會存放在ibdata1文件。
mysql ibdata1存放數據,索引等,是MYSQL的最主要的數據源。html

隨着數據的增加,ibdata1的存儲的數據也會愈來愈多,相應的體積也會愈來愈大。而且鬱悶的是,當你刪掉一些數據時,ibdata1的體積並不會減小。形成磁盤空間的浪費,影響磁盤的I/O性能。mysql

下面介紹一下如何縮小ibdata1的體積sql

一、備份數據庫數據庫

不管作什麼修改,先備份老是一個好習慣。性能

假設我有一個數據庫'leon_database'spa

mysqldump -q -uusername -pyourpassword leon_database > /備份的路徑/leon_database.sql

 

二、刪除數據庫rest

drop table leon_database;

 

三、刪除ibdata1文件和ib_logfile*文件code

 

四、建立新的數據庫leon_database,並導入備份好的/備份的路徑/leon_database.sqlhtm

mysql -uusername -pyourpassword leon_database < /備份的路徑/leon_database.sql;

 

4.五、若是想使用獨立表空間,那麼能夠在my.cnf(路徑通常是/etc/my.cnf)中增長一行;如不須要,則跳過這一步。blog

innodb_file_per_table = 1 #1表示開啓,0表示關閉

 

五、重啓mysql服務。

service mysqld restart

 

 

關於共享表空間和獨立表空間的優缺點,請查閱mysql InnoDB引擎 共享表空間和獨立表空間(轉載)

相關文章
相關標籤/搜索