《Mysql入門Mysql InnoDB刪除數(shù)據(jù)后釋放磁盤空間的方法》要點(diǎn):
本文介紹了Mysql入門Mysql InnoDB刪除數(shù)據(jù)后釋放磁盤空間的方法,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
MYSQL必讀Innodb數(shù)據(jù)庫對(duì)于已經(jīng)刪除的數(shù)據(jù)只是標(biāo)記為刪除,并不真正釋放所占用的磁盤空間,這就導(dǎo)致InnoDB數(shù)據(jù)庫文件不斷增長(zhǎng).
MYSQL必讀如果在創(chuàng)建數(shù)據(jù)庫的時(shí)候設(shè)置innodb_file_per_table=1,這樣InnoDB會(huì)對(duì)每個(gè)表創(chuàng)建一個(gè)數(shù)據(jù)文件,然后只需要運(yùn)行OPTIMIZE TABLE 命令就可以釋放所有已經(jīng)刪除的磁盤空間.
MYSQL必讀運(yùn)行OPTIMIZE TABLE 表名后,雖然最后會(huì)報(bào)Table does not support optimize, doing recreate + analyze instead,但其實(shí)已經(jīng)成功了:)
MYSQL必讀-------------------------------------------------------------
MYSQL必讀如果沒有設(shè)置這個(gè)參數(shù),又想釋放空間,徹底釋放這些已經(jīng)刪除的數(shù)據(jù),需要把數(shù)據(jù)庫導(dǎo)出,刪除InnoDB數(shù)據(jù)庫文件,然后再倒入.
MYSQL必讀下面是基本的步驟:
MYSQL必讀1 使用mysqldump命令將InnoDB數(shù)據(jù)庫導(dǎo)出
MYSQL必讀2 停止MySQL
MYSQL必讀3 刪除所有InnoDB數(shù)據(jù)庫文件和日志
MYSQL必讀4 啟動(dòng)MySQL并自動(dòng)重建InnoDB數(shù)據(jù)庫文件和日志文件
MYSQL必讀5 導(dǎo)入前面?zhèn)浞莸臄?shù)據(jù)庫文件
MYSQL必讀----------------------------------------------
MYSQL必讀具體命令:
MYSQL必讀mysqldump -uroot -proot --quick --force --all-databases > mysqldump.sql
# 停止數(shù)據(jù)庫
MYSQL必讀service mysqld stop
# 刪除這些大文件
rm /usr/local/mysql/var/ibdata1
rm /usr/local/mysql/var/ib_logfile*
# 手動(dòng)刪除除Mysql之外所有數(shù)據(jù)庫文件夾,然后啟動(dòng)數(shù)據(jù)庫
MYSQL必讀service mysqld start
# 還原數(shù)據(jù)
MYSQL必讀mysql -uroot -proot < mysqldump.sql
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/5182.html