成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

tablespace - MySQL從5.5升級(jí)到5.7后innodb_file_per_table默認(rèn)開(kāi)啟問(wèn)題

瀏覽:107日期:2022-06-18 18:19:36

問(wèn)題描述

最近將數(shù)據(jù)庫(kù)從庫(kù)從5.5升級(jí)到5.7,發(fā)現(xiàn)儲(chǔ)存MySQL磁盤(pán)空間一下子占用變大了很多,排查了一下發(fā)現(xiàn)是升級(jí)后MySQL的系統(tǒng)表空間(ibdata1)很大[原本就很大],單個(gè)innodb表的表空間也變得很大[升級(jí)后變大],正常情況下應(yīng)該只有一方會(huì)很大(系統(tǒng)的MyISAM表不多)

具體情況如下:升級(jí)前,mysql數(shù)據(jù)庫(kù)5.5,innodb_file_per_table使用默認(rèn)配置,即是關(guān)閉的,innodb的表和索引都存儲(chǔ)在一起(ibdata1文件很大);升級(jí)到5.7時(shí),innodb_file_per_table仍使用默認(rèn)配置,但是默認(rèn)是開(kāi)啟的,升級(jí)時(shí)使用mysql_upgrade后,每個(gè)表使用了獨(dú)立的表空間,即每個(gè)數(shù)據(jù)庫(kù)文件夾下的表空間文件很大,但是原本的系統(tǒng)表空間ibdata1并沒(méi)有對(duì)應(yīng)的變小。

查詢手冊(cè)發(fā)現(xiàn):在mysql5.5的時(shí)候innodb_file_per_table配置是默認(rèn)關(guān)閉的,但是數(shù)據(jù)庫(kù)升級(jí)到5.7的時(shí)候,innodb_file_per_table配置默認(rèn)開(kāi)啟了(其實(shí)在mysql5.6.6的時(shí)候就默認(rèn)開(kāi)啟了),官網(wǎng)說(shuō)明:http://dev.mysql.com/doc/refm...

請(qǐng)問(wèn)有沒(méi)有方法在不重新導(dǎo)入數(shù)據(jù)的情況下(重新導(dǎo)入耗時(shí)太長(zhǎng)),使原本的系統(tǒng)表空間ibdata1文件變小。

問(wèn)題解答

回答1:

首先需要明確你要做什么

1、MySQL 從5.5 升級(jí)到 5.72、不想重新導(dǎo)數(shù)據(jù),減少ibdata1空間

如果你是生產(chǎn)環(huán)境的數(shù)據(jù),建議你做好數(shù)據(jù)庫(kù)升級(jí)前的兼容性工作,充分的評(píng)估并找到不兼容或問(wèn)題點(diǎn),并解決。生產(chǎn)環(huán)境進(jìn)行版本升級(jí)建議做數(shù)據(jù)庫(kù)的導(dǎo)入導(dǎo)出操作,不建議原地升級(jí)。

如果是測(cè)試環(huán)境你可以隨意折騰,甚至是執(zhí)行完mysql_upgrade后 關(guān)閉MySQL,刪除ibdata1 文件,重啟后看看效果。

或者使用一些表整理命令或者嘗試修改表存儲(chǔ)引擎的方式整理一些表看看有沒(méi)有效果。

相關(guān)文章: