欧美在线专区-欧美在线伊人-欧美在线一区二区三区欧美-欧美在线一区二区三区-pornodoxxx中国妞-pornodoldoo欧美另类

position>home>Football

如果MySQL磁盤滿了,會發生什么?

[導讀]備份數據庫,磁盤刪除實例、發生刪除數據庫表、磁盤重啟mysql服務,發生結果磁盤空間均未釋放……

來源:https://testerhome.com/topics/23049

如果MySQL磁盤滿了,會發生什么?

問題

使用命令發現磁盤使用率為100%了,磁盤還剩幾十兆。發生

一系列神操作

備份數據庫,磁盤刪除實例、發生刪除數據庫表、磁盤重啟mysql服務.結果磁盤空間均未釋放

怎么辦

網上查了很多資源,發生說要進行磁盤碎片化整理。磁盤原因是發生datafree占據的空間太多啦。具體可以通過這個sql查看。磁盤

SELECT CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') AS data_size,
CONCAT(TRUNCATE(SUM(max_data_length)/1024/1024,2),'MB') AS max_data_size,
CONCAT(TRUNCATE(SUM(data_free)/1024/1024,2),'MB') AS data_free,
CONCAT(TRUNCATE(SUM(index_length)/1024/1024,2),'MB') AS index_size
FROM information_schema.tables WHERE TABLE_NAME = 'datainfo';

這個是發生后來的圖了,之前的磁盤圖沒有留,當時顯示一張表里的data_free都達到了20個G。

網上推薦的做法如下所示,對表格進行碎片化整理。

ALTER TABLE datainfo ENGINE=InnoDB;
ANALYZE TABLE datainfo;

optimize table datainfo;

僵局

查看數據庫版本為5.562不支持inodb,要么選擇升級數據庫。正在這時,有個不好的消息發生了,那張表格給刪掉了,但是磁盤空間還是沒有釋放啊。所以對表進行碎片化整理的路也走不通了,因為表沒了。。。

后來的神操作

使用命令查看mysql安裝的位置和配置文件所在的地方

mysql 1118 945 0 14:28 ? 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock

關閉mysql

service mysql stop  

刪除datadir目錄下的ibdata1、ib_logfile0 ib_logfile1這些文件

移動mysql的啟動參數

mv /etc/my.cnf ./abc

重新啟動mysql 發現磁盤空間釋放了

service mysql start

磁盤空間終于釋放了

下一步數據庫還原

采用navicate備份工具,進行數據庫備份

備份成功后生成了,生成psc文件200409141055.psc

新建一個數據庫實例,設置數據庫名和字符集

然后對備份數據庫進行還原,點擊還原

開始進行還原

第一次還原后發現還原后數據庫表建成功了,但是表里面沒有數據。后來網上查找資料發現是,遇到錯誤就停止了。所以更改了還原的配置,再次進行還原。
之前是這樣設置的

還原時當成一個事務進行了,遇到錯誤就停止了。更改配置

重新進行還原,數據庫里的數據有了,并且驗證沒有問題。

問題解決

mysql碎片化產生的原因

  1. 表的存儲會出現碎片化,每當刪除了一行內容,該段空間就會變為被留空,而在一段時間內的大量刪除操作,會使這種留空的空間變得比存儲列表內容所使用的空間更大;

  2. 當執行插入操作時,MySQL會嘗試使用空白空間,但如果某個空白空間一直沒有被大小合適的數據占用,仍然無法將其徹底占用,就形成了碎片;

  3. 當MySQL對數據進行掃描時,它掃描的對象實際是列表的容量需求上限,也就是數據被寫入的區域中處于峰值位置的部分;

清除碎片的優點

降低訪問表時的IO,提高mysql性能,釋放表空間降低磁盤空間使用率

  1. MySQL官方建議不要經常(每小時或每天)進行碎片整理,一般根據實際情況,只需要每周或者每月整理一次即可(我們現在是每月凌晨4點清理mysql所有實例下的表碎片)。

  2. 在OPTIMIZE TABLE運行過程中,MySQL會鎖定表。因此,這個操作一定要在網站訪問量較少的時間段進行。

  3. 清理student的105萬條數據, OPTIMIZE TABLE 庫.student;本地測試需要37秒。

自測

大家可以用這條語句看看自己的系統的datafree大不大

show table status from 表名;

特別推薦一個分享架構+算法的優質內容,還沒關注的小伙伴,可以長按關注一下:

長按訂閱更多精彩▼

如有收獲,點個在看,誠摯感謝

免責聲明:本文內容由21ic獲得授權后發布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!

Popular articles

主站蜘蛛池模板: 动漫人物差差差免费动漫在线观看| 2019国产开嫩苞视频| 日本免费观看网站| 全部免费a级毛片| 三奸在线看| 欧美巨大xxxx做受高清| 骚虎影院在线观看| 一个人hd高清在线观看| 午夜阳光电影在线观看| 成年女人a毛片免费视频| 中文字幕在线观| 韩国免费一级片| 好色先生tv网站| 久久99国产精品久久99| 琪琪色原网站在线观看| 一卡2卡3卡4卡免费高清| 国产免费久久精品99久久| 中文字幕一区二区三区精彩视频| 啊轻点灬大ji巴太粗太长了欧美 | 东北女人下面痒大叫| 伊人久久久大香线蕉综合直播| 中文天堂最新版www| 调教视频h| 老师办公室被吃奶好爽在线观看| 久久国产精品二国产精品| 高嫁肉柳风车动漫| 韩日毛片| 亚洲国产一区二区三区亚瑟| 老子影院我不卡| 里番本子侵犯肉全彩| 攵女yin乱合集高h文| 成人性生交大片免费看| 被夫上司持续入侵大桥未久 | 91看片网| 男人j进入女人p狂躁免费观看| 成人在线毛片| 天天操天天爱天天干| 亚洲国产精品va在线观看麻豆| 国产卡一卡二卡三卡四| 在线观看免费视频一区| 7777精品伊人久久久大香线蕉|