亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL的InnoDB擴容及ibdata1文件瘦身方案完全解析

2024-07-24 13:09:55
字體:
來源:轉載
供稿:網友

mysql的innodb擴容
為了添加一個數據文件到表空間中,首先要關閉 MySQL 數據庫,編輯 my.cnf 文件,確認innodb ibdata文件的實際情況和my.cnf的配置是否一致,這里有兩種情況:
1.my.cnf的配置

innodb_data_file_path=ibdata1:10G;ibdata2:10G:autoextend 

如果當前數據庫正在使用ibdata1,或者使用ibdata2,但ibdata2沒有超過10G,則對my.cnf配置直接改成:

innodb_data_file_path=ibdata1:10G;ibdata2:10G;ibdata3:10G:autoextend 

2.如果設置了最后一個ibdata自動擴展時,有可能最后一個ibdata的占用空間大于my.cnf的配置空間。例如:

 mysql@test:/data1/mysqldata/innodb/data> ls -lh 
-rw-rw---- 1 mysql mysql 10737418240 2010-01-26 16:34 ibdata1 -rw-rw---- 1 mysql mysql 16106127360 2010-01-26 16:34 ibdata2 

這時,需要精確的計算ibdata2的大小 15360M,修改:

innodb_data_file_path=ibdata1:10G;ibdata2:15360M;ibdata3:10G:autoextend 

重啟mysql。
注意:
1、擴容前注意磁盤空間是否足夠。
2、restart后關注是否生成了新的ibdata。
更多說明:
如果,最后一個文件以關鍵字 autoextend 來描述,那么編輯 my.cnf 的過程中,必須檢查最后一個文件的尺寸,并使它向下接近于 1024 * 1024 bytes (= 1 MB) 的倍數(比方說現在autoextend 的/ibdata/ibdata1為18.5M,而在舊的my.ini中為10M,則需要修改為innodb_data_file_path = /ibdata/ibdata1:19M; 且必須是19M,如果指定20M,就會報錯。),并在 innodb_data_file_path 中明確指定它的尺寸。然后你可以添加另一個數據文件。記住只有 innodb_data_file_path 中的最后一個文件可以被指定為 auto-extending。
一個例子:假設起先僅僅只有一個 auto-extending 數據文件 ibdata1 ,這個文件接近于 988 MB。下面是添加了另一個 auto-extending 數據文件后的可能示例 。

innodb_data_home_dir = innodb_data_file_path = /ibdata/ibdata1:988M;/disk2/ibdata2:50M:autoextend 

 

ibdata1 瘦身

0. ibdata1里存了什么

當你啟用了 innodb_file_per_table,表被存儲在他們自己的表空間里,但是共享表空間仍然在存儲其它的 InnoDB 內部數據:
(1)數據字典,也就是 InnoDB 表的元數據
(2)變更緩沖區
(3)雙寫緩沖區
(4)撤銷日志

其中的一些在 Percona 服務器上可以被配置來避免增長過大的。例如你可以通過 innodb_ibuf_max_size 設置最大變更緩沖區,或設置 innodb_doublewrite_file 來將雙寫緩沖區存儲到一個分離的文件。

MySQL 5.6 版中你也可以創建外部的撤銷表空間,所以它們可以放到自己的文件來替代存儲到 ibdata1。

1. 什么引起 ibdata1 增長迅速?

當 MySQL 出現問題通常我們需要執行的第一個命令是:

SHOW ENGINE INNODB STATUS/G

這將展示給我們一些很有價值的信息。我們從** TRANSACTION(事務)**部分開始檢查,然后我們會發現這個:

---TRANSACTION 36E, ACTIVE 1256288 secMySQL thread id 42, OS thread handle 0x7f8baaccc700, query id 7900290 localhost rootshow engine innodb statusTrx read view will not see trx with id >= 36F, sees < 36F

這是一個最常見的原因,一個14天前創建的相當老的事務。這個狀態是活動的,這意味著 InnoDB 已經創建了一個數據的快照,所以需要在撤銷日志中維護舊頁面,以保障數據庫的一致性視圖,直到事務開始。如果你的數據庫有大量的寫入任務,那就意味著存儲了大量的撤銷頁。

如果你找不到任何長時間運行的事務,你也可以監控INNODB STATUS 中的其他的變量,“History list length(歷史記錄列表長度)”展示了一些等待清除操作。這種情況下問題經常發生,因為清除線程(或者老版本的主線程)不能像這些記錄進來的速度一樣快地處理撤銷。

2. 我怎么檢查什么被存儲到了 ibdata1 里了?

很不幸,MySQL 不提供查看什么被存儲到 ibdata1 共享表空間的信息,但是有兩個工具將會很有幫助。第一個是馬克·卡拉漢制作的一個修改版 innochecksum ,它發布在這個漏洞報告里。

它相當易于使用:

# ./innochecksum /var/lib/mysql/ibdata10 bad checksum13 FIL_PAGE_INDEX19272 FIL_PAGE_UNDO_LOG230 FIL_PAGE_INODE1 FIL_PAGE_IBUF_FREE_LIST892 FIL_PAGE_TYPE_ALLOCATED2 FIL_PAGE_IBUF_BITMAP195 FIL_PAGE_TYPE_SYS1 FIL_PAGE_TYPE_TRX_SYS1 FIL_PAGE_TYPE_FSP_HDR1 FIL_PAGE_TYPE_XDES0 FIL_PAGE_TYPE_BLOB0 FIL_PAGE_TYPE_ZBLOB0 other3 max index_id

全部的 20608 中有 19272 個撤銷日志頁。這占用了表空間的 93%。

第二個檢查表空間內容的方式是杰里米·科爾制作的 InnoDB Ruby 工具。它是個檢查 InnoDB 的內部結構的更先進的工具。例如我們可以使用 space-summary 參數來得到每個頁面及其數據類型的列表。我們可以使用標準的 Unix 工具來統計撤銷日志頁的數量:

# innodb_space -f /var/lib/mysql/ibdata1 space-summary | grep UNDO_LOG | wc -l19272

盡管這種特殊的情況下,innochedcksum 更快更容易使用,但是我推薦你使用杰里米的工具去了解更多的 InnoDB 內部的數據分布及其內部結構。

好,現在我們知道問題所在了。

3. ibdata1 瘦身方案
其中的一些在 Percona 服務器上可以被配置來避免增長過大的。例如你可以通過 innodb_ibuf_max_size 設置最大變更緩沖區,或設置 innodb_doublewrite_file 來將雙寫緩沖區存儲到一個分離的文件。

MySQL 5.6 版中你也可以創建外部的撤銷表空間,所以它們可以放到自己的文件來替代存儲到 ibdata1。

通常不能移除 InnoDB 的數據文件。為了減小數據文件的大小,你必須使用 mysqldump 來轉儲(dump)所有的數據表,再重新建立一個新的數據庫,并將數據導入新的數據庫中。具體步驟如下:
(1)備份數據庫
mysqldump -uroot -p123456 --default-character-set=utf8 --opt --extended-insert=true --triggers -R --hex-blob --single-transaction --no-autocommit  test > db_name.sql 
(2)停止數據庫

service mysqld stop 

(3)刪除相關文件

ibdata1 ib_logfile* mysql-bin.index 

(4)手動刪除除Mysql之外所有數據庫文件夾,然后啟動數據庫 

service mysqld start 

(5)還原數據

 /usr/local/mysql/bin/mysql -uroot -phigkoo < /data/bkup/mysqldump.sql 

主要是使用Mysqldump時的一些參數,建議在使用前看一個說明再操作。另外備份前可以先查看一下當前數據庫里哪些表占用空間大,把一些不必要的給truncate table掉。這樣省些空間和時間


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美日韩中文在线| 国产精品美女呻吟| 人人做人人澡人人爽欧美| 日韩精品在线看| 精品中文字幕在线观看| 超碰日本道色综合久久综合| 色老头一区二区三区在线观看| 亚洲人午夜精品| 国产日韩欧美成人| 亚洲无av在线中文字幕| 久久免费国产视频| 亚洲日本成人女熟在线观看| 欧美激情视频网站| 精品国产鲁一鲁一区二区张丽| 国产婷婷97碰碰久久人人蜜臀| 欧美一区二区三区精品电影| 一区二区三区天堂av| 国产九九精品视频| 欧美成人免费视频| 欧美性猛交99久久久久99按摩| 日韩在线精品一区| 欧美日本高清视频| 日本中文字幕不卡免费| 91精品在线国产| 国产欧美日韩精品在线观看| 国产剧情久久久久久| 亚洲qvod图片区电影| 日韩国产精品视频| 91成人性视频| 亚洲欧美日韩中文视频| 中文字幕一区二区三区电影| 国产欧美日韩丝袜精品一区| 精品国产一区二区三区四区在线观看| 91sao在线观看国产| 欧美日韩一区二区精品| 日韩av免费一区| 欧美国产视频一区二区| 亚洲跨种族黑人xxx| 午夜精品久久久久久99热软件| 日韩在线观看免费网站| 日韩在线高清视频| 亚洲无av在线中文字幕| 久久久久久久av| 亚洲国产精品va在看黑人| 国产97在线视频| 日韩女在线观看| 色综合亚洲精品激情狠狠| 国产成人综合精品在线| 亚洲色图校园春色| 日韩电影在线观看免费| 欧美日韩福利电影| 国内精品免费午夜毛片| 黑人精品xxx一区| 亚洲人成在线电影| 久久久久久久爱| 亚洲色图欧美制服丝袜另类第一页| 日本精品一区二区三区在线| 欧美电影免费在线观看| 亚洲一区二区在线播放| 91九色精品视频| 日韩专区在线播放| 国产欧美日韩精品丝袜高跟鞋| 日韩高清av在线| 国产成人精品在线播放| 日韩禁在线播放| 日韩欧美精品网址| 上原亚衣av一区二区三区| 日韩欧美aⅴ综合网站发布| 韩剧1988免费观看全集| 亚洲国产精品成人一区二区| 亚洲第一色中文字幕| 欧美另类第一页| 亚洲国产小视频在线观看| 欧美大片va欧美在线播放| 国产视频精品久久久| 欧美做受高潮电影o| 在线丨暗呦小u女国产精品| 成人久久一区二区三区| 国产精品欧美日韩| 国产精品视频区1| 欧美在线观看一区二区三区| 精品福利在线观看| 欧美成人国产va精品日本一级| 最近日韩中文字幕中文| 亚洲自拍高清视频网站| 2020国产精品视频| 欧美性感美女h网站在线观看免费| 久久影视电视剧凤归四时歌| 国产亚洲免费的视频看| 最近中文字幕日韩精品| 国产日韩在线精品av| 97色在线观看免费视频| 精品视频中文字幕| 久久精品国产亚洲精品2020| 欧美黄色三级网站| 国产精品电影在线观看| 欧美性猛交丰臀xxxxx网站| 91精品91久久久久久| 欧美精品做受xxx性少妇| 国产精品成人免费电影| 国产日韩精品在线播放| 欧美激情精品久久久久久变态| 亚洲日韩中文字幕在线播放| 久久激情五月丁香伊人| 色中色综合影院手机版在线观看| 国产日韩欧美在线观看| 成人黄在线观看| 亚洲综合av影视| 久久好看免费视频| 日韩美女中文字幕| 国精产品一区一区三区有限在线| 日韩成人在线免费观看| 亚洲精品免费在线视频| 亚洲第一区在线观看| 久久99亚洲精品| 日韩女优在线播放| 欧美激情按摩在线| 久久久久日韩精品久久久男男| 日韩精品中文字幕在线播放| 久久精品成人一区二区三区| 狠狠色狠狠色综合日日小说| 国产日韩欧美视频在线| 久国内精品在线| 欧美精品制服第一页| 久热精品视频在线| 日韩av在线免费播放| 91久久在线观看| 9.1国产丝袜在线观看| 一区二区成人精品| www高清在线视频日韩欧美| 欧美日韩中文字幕在线视频| 成人黄色在线免费| 日韩在线一区二区三区免费视频| 韩国精品久久久999| 中文字幕精品在线视频| 亚洲欧洲国产伦综合| 成人欧美在线视频| 裸体女人亚洲精品一区| 亚洲成色www8888| 久久久久久久久久国产精品| 色黄久久久久久| 欧美成人激情在线| 色老头一区二区三区| 日韩午夜在线视频| 性欧美xxxx| 亚洲精品视频网上网址在线观看| 4438全国亚洲精品在线观看视频| 亚洲精品国产精品国自产在线| 91夜夜未满十八勿入爽爽影院| 中文字幕欧美日韩精品| 国产亚洲精品成人av久久ww| 亚洲成**性毛茸茸| 日韩av一区二区在线观看| 亚洲日本中文字幕| 国产精品视频内| 国产欧美一区二区| 精品国产一区av| 国产黑人绿帽在线第一区| 亚洲成人网在线观看| 欧美成人精品激情在线观看| 中文字幕不卡在线视频极品| 7777免费精品视频| 国产v综合ⅴ日韩v欧美大片| 一区二区三区无码高清视频|