国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

收縮Mysql的ibdata1文件大小方法

2024-07-24 12:59:17
字體:
來源:轉載
供稿:網友
收縮MySQL的ibdata1文件大小方法bdata1是mysql數據庫中一個數據文件了,你會發現它來越大了,下面我來介紹收縮Mysql的ibdata1文件大小方法

如果你有使用InnoDB來存儲你的Mysql表,使用默認設置應該會碰到個非常頭疼的問題,在Mysql的數據目錄里有個默認只有10MB叫ibdata1的文件沒日沒夜的增長讓你煩透了吧?里面包含了InnoDB引擎存儲的所有索引和數據信息,很可惜Mysql在設計的時候就沒有收縮InnoDB表的功能,這就是為什么你在delete,truncate,drop這些表的時候這個文件大小沒有絲毫要減少的原因,而且你還沒辦法直觀的看到哪個數據庫占用了大量的ibdata1,這個坑爹的問題在新版的Mysql中已經通過innodb_file_per_table這個選項來解決了,開啟該選項后,每個InnoDB表的索引和數據都會按*.ibd命名存儲到各個數據庫中,但是這個選項默認是不開啟的。

如上所說,你沒法去收縮InnoDB數據文件,你也沒辦法在一臺沒有打開innodb_file_per_table選項的機器上直接加上該選項讓他工作,你必須在安裝完Mysql就加上這個選項,或者按照本文介紹的三種方式來操作,無論你做任何操作,請確保你已經備份了整個數據庫目錄,也別忘了停掉Mysql相關的一些服務。

前兩個方法需要獲取到Mysql數據庫實例中所有InnoDB的清單,如果你使用的是5.0以上的版本,這一切都很容易:SELECT TABLE_SCHEMA,TABLE_NAME FROM TABLES WHERE ENGINE = ‘InnoDB’;

修改表引擎1.對每個InnoDB表執行 ALTER TABLE table_name ENGINE=MyISAM;2.停止Mysql服務;3.移除InnoDB相關文件ibdata1等;4.修改my.cnf中的參數,添加innodb_file_per_table;5.啟動Mysql服務;6.將剛才修改后的那些表改回InnoDB:ALTER TABLE table_name ENGINE=InnoDB;導出InnoDB表1.使用mysqldump命令導出所有的InnoDB表,例如: mysqldump –add-drop-table –extended-insert –disable-keys –quick ‘db_name’ –tables ‘tbl_name’ > ‘db_name.tbl_name.sql’2.刪掉這些表: ?SET FOREIGN_KEY_CHECKS=0;?DROP TABLE db_name.tbl_name;?DROP TABLE db_name1.tbl_name1;?–– DROP other tables here…?SET FOREIGN_KEY_CHECKS=1;3.停止Mysql服務;4.移除InnoDB相關文件ibdata1等;5.修改my.cnf中的參數,添加innodb_file_per_table;6.啟動Mysql服務;7.在Mysql Console下導入表: ?SET FOREIGN_KEY_CHECKS=0;?SOURCE db_name.tbl_name.sql;?SOURCE db_name1.tbl_name1.sql;?–– SOURCE other files here…?SET FOREIGN_KEY_CHECKS=1;導出整個數據庫這個是我常用的,雖然他和耗磁盤和時間,但是確實是最簡便的:

1.導出所有的數據: /usr/bin/mysqldump ––extended-insert ––all-databases ––add-drop-database ––disable-keys ––flush-PRivileges ––quick ––routines ––triggers > all-databases.sql2.停止Mysql服務;3.重命名mysql數據文件夾;4.修改my.cnf中的參數,添加innodb_file_per_table;5.mysql_install_db重新初始化mysqld;6.開啟Mysql服務;7.進入Mysql Console執行: ?SET FOREIGN_KEY_CHECKS=0;?SOURCE all-databases.sql;?SET FOREIGN_KEY_CHECKS=1;8.重啟數據庫測試OK就領賞去吧。

原文來自:http://www.111cn.net/database/mysql/53013.htm

你可能感興趣的文章
  • Mysql中查找并刪除重復數據的方法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泗阳县| 鄯善县| 兴山县| 聊城市| 宝应县| 新宾| 射洪县| 朝阳区| 清丰县| 湘阴县| 崇左市| 谢通门县| 云和县| 衢州市| 邵阳市| 防城港市| 原阳县| 南城县| 瑞昌市| 新民市| 全州县| 定州市| 鄱阳县| 万州区| 巴里| 临朐县| 柘荣县| 汝城县| 金湖县| 孝义市| 大安市| 大同县| 会理县| 乌兰县| 叙永县| 开封县| 龙里县| 松溪县| 铜川市| 和林格尔县| 东港市|