mysql 壓縮 壓縮MySQL資料檔案的妙招

2021-10-25 14:05:55 字數 1122 閱讀 6967

mysql資料檔案如果過大,能否進行壓縮呢?答案是肯定的。下面就教您乙個壓縮mysql資料檔案的方法,希望對您能有所幫助。

mysql使用一段時間後,mysql資料檔案ibdata會增長得很大(主要是針對innodb的儲存方式,有大量插入刪除操作的資料庫),有沒有很好的辦法可以收縮(shrink)mysql資料檔案呢?在網上查了一下,沒有太好的辦法,只提到刪除重建mysql資料檔案的方式,實際就是備份-刪除-恢復的方法,我試驗了一下,基本可行,但還是有一些注意事項:

1. 用mysqldump等工具匯出資料

我的資料庫使用latin1字符集,必須強制在引數裡指定(否則預設按utf8匯出中文會變亂碼):

mysqldump --add-drop-table --user=root --flush-logs --default-character-set=latin1 --password=mysql mydbname > c:\bak_all.sql

注意sqlyog等工具也提供匯出類似匯出功能,但它們的匯出不一定好用,有可能匯出來後有亂碼或不能執行。

2. 停止 mysqld (也就是mysql的服務)

3. 刪除ibdata*, ib_logfile* 檔案,***連你的使用者資料庫目錄一起刪除,不然導回時可能報錯

4. 重新啟動 mysqld(這時mysqld就會自動建立 idbdata*, ib_logfile* 檔案)

如果前面已刪除了資料庫目錄,這是需要重建乙個你的使用者資料庫(用sqlyog等工具建新資料庫非常簡單)

5. 將匯出來的資料導回去,體積才會減小。

可以使用命令:

mysql --user=root --password=mysql mydbname < c:\bak_all.sql

當然,也可以在sqlyog的查詢工具裡執行sql檔案來恢復。

另外,提供乙個小技巧,如果你的帳號密碼帶有空格,在命令列怎麼輸入呢?

很簡單,在你的帳號密碼兩邊帶上英文雙引號 " (注意不是單引號)。比如:

mysqldump --add-drop-table --user=root --flush-logs --default-character-set=latin1 --password=" " mydbname > c:\bak_all.sql

點讚 0

mysql 索引壓縮 MySQL 索引壓縮碎片

mysql 索引簡介 索引也叫 鍵 key 是儲存引擎用於快速找到記錄的一種資料結構。索引對於良好的效能非常關鍵。資料量越來越大的時候,索引的重要性也會體現出來。例如下面的sql select from user where userid 123 如果沒有建立索引,此時查詢會全表掃瞄 如果在user...

mysql 匯出並壓縮 mysql壓縮備份匯入匯出

mysqldump工具自帶選項沒有對匯出備份檔案壓縮功能,可結合gzip只使用一條命令壓縮匯出檔案,方法如下 mysqldump壓縮匯出 mysqldump h192.168.0.3 p3306 uroot ppwd123 single transaction default character s...

mysql壓縮配置 MySQL壓縮版配置安裝

2 解壓zip 3 以管理員身份執行cmd.exe,一般在 c windows system32 cmd.exe 4 cmd進入解壓後的檔案中的bin中 5 cmd執行,mysqld install xx 安裝mysql,xx為安裝後服務名 6 cmd執行,mysqld remove xx 解除安裝...