mysql中ibdata1过大的问题
ibdata1文件是什么?
答:
ibdata1是一個用來構建innodb系統表空間的文件,這個文件包含了innodb表的元數據、撤銷記錄、修改buffer和雙寫buffer。如果file-per-table選項打開的話,該文件則不一定包含所有表的數據。當innodb_file_per_table選項打開的話,新創建表的數據和索引則不會存在系統表空間中,而是存放在各自表的.ibd文件中。
顯然這個文件會越來越大,innodb_autoextend_increment選項則指定了該文件每次自動增長的步進,默認是8M。
是什么原因導致ibdata1文件會越來越大?
答:
顯然ibdata文件存的是數據庫的表數據,如緩存,索引等。所以隨著數據庫越來越大,表也會越大,這個無法避免的。那么服務器硬盤空間不夠了怎么辦?我們只能把ibdata中的一些log文件都清掉。
怎么解決問題?
答:
ibdata文件中包含的數據并不是我們都需要的,比如撤銷日志,這些日志是可以定期刪除的。但是之前是放在一個文件中,所以不好刪除。因此最好的辦法是把ibdata中需要存放的內容進行分開存放,除了
數據文件可以保存,其他不是非必要文件都單獨存放并且定時清理。這樣可以緩解數據庫服務器磁盤的壓力。
如果ibdata已經很大了該怎么辦?
答:
先把數據庫文件備份下來,然后直接刪除ibdata文件,重新導入數據庫文件即可。這樣就可以把ibdata中的日志和緩存都刪除掉了。
轉自:http://blog.csdn.net/szx9231/article/details/52159352
轉載于:https://www.cnblogs.com/tv151579/p/8288678.html
總結
以上是生活随笔為你收集整理的mysql中ibdata1过大的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Appscan_web安全测试工具 (
- 下一篇: MySQL学习笔记1(增删查改)