您好,登錄后才能下訂單哦!
接到了一臺 MySQL5.7服務器磁盤空間不足的報警,該業務的數據量20G的樣子,是什么造成磁盤空間不足呢?
經過排查后發現,數據目錄下面有一個ibtmp1的文件特別大,有949G 。
# du -sh ibtmp1 949G ibtmp1
ibtmp1是個什么東西呢?查看官方文檔后發現這是非壓縮的innodb臨時表的獨立表空間。通過innodb_temp_data_file_path參數指定文件的路徑,文件名和大小,默認配置為ibtmp1:12M:autoextend,也就是說在支持大文件的系統這個文件大小是可以無限增長的。
解決辦法:
1,修改my.cnf配置文件:
innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G
2,設置innodb_fast_shutdown參數
SET GLOBAL innodb_fast_shutdown = 0; #InnoDB does a slow shutdown, a full purge and a change buffer merge before shutting down
3,關閉mysql服務
4,刪除ibtmp1文件
5,啟動mysql服務
注意:為了避免以后再出現類似的情況,一定要在限制臨時表空間的最大值,如innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。