關于mysql的binlog寫滿磁盤而導致mysql無法連接的問題。

問題描述與追蹤

首先是mysql連不上:

[root@VM-90-225-centos ~]# mysql -uroot -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

然后查看mysql的狀態:

[root@VM-90-225-centos ~]# service mysqld statusERROR! MySQL is not running, but PID file exists

然后根據這篇文章:
mysql無法啟動ERROR! MySQL is running but PID file could not be found
我在根目錄下查看了一下磁盤文件:

[root@VM-90-225-centos ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        7.7G     0  7.7G   0% /dev
tmpfs           7.7G     0  7.7G   0% /dev/shm
tmpfs           7.7G  258M  7.5G   4% /run
tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/vda1        99G   99G     0 100% /
tmpfs           1.6G     0  1.6G   0% /run/user/0
/dev/vdb1       197G   61M  187G   1% /data

發現/dev/vda1這個文件已經滿了
我們回到根目錄,查看一下到底是哪個文件磁盤占用最高:

[root@VM-90-225-centos ~]# cd /
[root@VM-90-225-centos /]# du -sh * 
0       bin
264M    boot
24K     data
0       dev
40M     etc
17M     home
0       lib
0       lib64
16K     lost+found
4.0K    media
4.0K    mnt
32M     opt
du: cannot access ‘proc/5888/task/5888/fd/3’: No such file or directory
du: cannot access ‘proc/5888/task/5888/fdinfo/3’: No such file or directory
du: cannot access ‘proc/5888/fd/3’: No such file or directory
du: cannot access ‘proc/5888/fdinfo/3’: No such file or directory
0       proc
1.7G    root
258M    run
0       sbin
4.0K    srv
0       sys
304K    tmp
96G     usr
975M    var

發現是usr文件夾最占用空間,依次遞歸查詢最大文件夾:

[root@VM-90-225-centos /usr]# du -sh *
358M    1.2-compat
636M    bin
4.0K    etc
4.0K    games
42M     include
1.1G    lib
559M    lib64
210M    libexec
92G     local
12K     man
51M     sbin
612M    share
198M    src
0       tmp
[root@VM-90-225-centos /usr]# cd ./local/
[root@VM-90-225-centos /usr/local]# du -sh *
175M    agenttools
14M     bin
4.0K    etc
4.0K    ft_local
4.0K    games
399M    go
1.1M    hio
3.3M    include
468M    lib
4.0K    lib64
4.0K    libexec
4.0K    lost+found
89G     mysql
1.2G    mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
216M    python
25M     qcloud
541M    sa
4.0K    sbin
108K    share
4.0K    src
4.0K    tencent
4.3M    tsso_openssh
5.6M    TsysAgent
[root@VM-90-225-centos /usr/local]# cd ./mysql/
[root@VM-90-225-centos /usr/local/mysql]# du -sh *
1.3G    bin
87G     data
24K     docs
8.0K    etc
404K    include
463M    lib
272K    LICENSE
840K    man
4.0K    README
9.5M    share
24K     support-files
4.0K    tmp
[root@VM-90-225-centos /usr/local/mysql]# cd ./data/
[root@VM-90-225-centos /usr/local/mysql/data]# du -sh *
4.0K    auto.cnf
756K    binlog.000009
1.1G    binlog.000010
1.1G    binlog.000011
1.1G    binlog.000012
1.1G    binlog.000013
1.1G    binlog.000014
1.1G    binlog.000015
1.1G    binlog.000016
1.1G    binlog.000017
1.1G    binlog.000018
1.1G    binlog.000019
1.1G    binlog.000020
1.1G    binlog.000021
1.1G    binlog.000022
1.1G    binlog.000023
1.1G    binlog.000024
1.1G    binlog.000025
1.1G    binlog.000026
1.1G    binlog.000027
1.1G    binlog.000028
1.1G    binlog.000029
1.1G    binlog.000030
1.1G    binlog.000031
1.1G    binlog.000032
1.1G    binlog.000033
1.1G    binlog.000034
1.1G    binlog.000035
1.1G    binlog.000036
1.1G    binlog.000037
1.1G    binlog.000038
1.1G    binlog.000039
1.1G    binlog.000040
1.1G    binlog.000041
1.1G    binlog.000042
1.1G    binlog.000043
1.1G    binlog.000044
1.1G    binlog.000045
1.1G    binlog.000046
1.1G    binlog.000047
1.1G    binlog.000048
1.1G    binlog.000049
1.1G    binlog.000050
1.1G    binlog.000051
1.1G    binlog.000052
1.1G    binlog.000053
1.1G    binlog.000054
1.1G    binlog.000055
1.1G    binlog.000056
1.1G    binlog.000057
1.1G    binlog.000058
1.1G    binlog.000059
1.1G    binlog.000060
1.1G    binlog.000061
1.1G    binlog.000062
1.1G    binlog.000063
1.1G    binlog.000064
1.1G    binlog.000065
1.1G    binlog.000066
1.1G    binlog.000067
1.1G    binlog.000068
1.1G    binlog.000069
1.1G    binlog.000070
1.1G    binlog.000071
1.1G    binlog.000072
1.1G    binlog.000073
1.1G    binlog.000074
1.1G    binlog.000075
1.1G    binlog.000076
1.1G    binlog.000077
1.1G    binlog.000078
1.1G    binlog.000079
1.1G    binlog.000080
1.1G    binlog.000081
1.1G    binlog.000082
1.1G    binlog.000083
1.1G    binlog.000084
1.1G    binlog.000085
1.1G    binlog.000086
1.1G    binlog.000087
1.1G    binlog.000088
1.1G    binlog.000089
1.1G    binlog.000090
324M    binlog.000091
4.0K    binlog.000092
4.0K    binlog.000093
4.0K    binlog.000094
1.1G    binlog.000095
1.1G    binlog.000096
1.1G    binlog.000097
713M    binlog.000098
4.0K    binlog.index
4.0K    ca-key.pem
4.0K    ca.pem
4.0K    client-cert.pem
4.0K    client-key.pem
4.0K    history
192K    #ib_16384_0.dblwr
8.2M    #ib_16384_1.dblwr
8.0K    ib_buffer_pool
12M     ibdata1
48M     ib_logfile0
48M     ib_logfile1
12M     ibtmp1
804K    #innodb_temp
328K    ip_to_room
303M    machine_history
36K     mysql
105M    mysql.ibd
324M    new_machine_history
21M     new_room_history
463M    newtest
1.6M    performance_schema
4.0K    private_key.pem
4.0K    public_key.pem
15M     room_history
410M    room_province
13M     room_to_ip
4.0K    server-cert.pem
4.0K    server-key.pem
116K    sys
1.1M    test
48M     undo_001
48M     undo_002
4.0K    VM-90-225-centos.pid

發現是binlog占用了很多空間

解決方案

接下來就好辦了,百度:mysql的binlog太多占用了空間

cd /etc/init.d
mysqld --user=root
# 強制進去

然后查看當前日志保存天數,默認是0,也就是logs不過期.

mysql> show variables like '%expire_logs_days%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 0     |
+------------------+-------+
1 row in set (0.00 sec)

編輯/etc/my.cnf文件,在[mysqld]節點中增加如下兩行

max_binlog_size = 500M
expire_logs_days = 2

service mysqld restart重新啟動mysql。設置便會生效。

mysql> show variables like '%expire_logs_days%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 2     |
+------------------+-------+
1 row in set (0.00 sec)
mysql> PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 1 DAY);
Query OK, 0 rows affected (0.02 sec)

然后再看data文件夾:

[root@VM-90-225-centos /usr/local/mysql/data]# du -sh *
4.0K    auto.cnf
1.1G    binlog.000095
1.1G    binlog.000096
1.1G    binlog.000097
92M     binlog.000098
4.0K    binlog.000099
4.0K    binlog.000100
4.0K    binlog.000101
4.0K    binlog.000102
4.0K    binlog.000103
4.0K    binlog.index
4.0K    ca-key.pem
4.0K    ca.pem
4.0K    client-cert.pem
4.0K    client-key.pem
4.0K    history
192K    #ib_16384_0.dblwr
8.2M    #ib_16384_1.dblwr
12K     ib_buffer_pool
12M     ibdata1
48M     ib_logfile0
48M     ib_logfile1
12M     ibtmp1
804K    #innodb_temp
328K    ip_to_room
303M    machine_history
36K     mysql
105M    mysql.ibd
324M    new_machine_history
21M     new_room_history
463M    newtest
1.6M    performance_schema
4.0K    private_key.pem
4.0K    public_key.pem
15M     room_history
410M    room_province
13M     room_to_ip
4.0K    server-cert.pem
4.0K    server-key.pem
116K    sys
1.1M    test
48M     undo_001
48M     undo_002
4.0K    VM-90-225-centos.pid

舊binlog也刪除了

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376692.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376692.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376692.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

.NET系統架構改造的經驗和教訓

轉自: http://robbinfan.com/blog/43/rid-off-dotnet-experience 在互聯網行業,基于Unix/Linux的網站系統架構毫無疑問是當今主流的架構解決方案,這不僅僅是因為Linux本身足夠的開放性,更因為圍繞傳統Unix/Linux社區有大量的成熟開…

yum error :No module named yum

Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE、CentOS中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴…

403報錯解決方案

403報錯解決方案 服務器使用yum install httpd時出現403報錯,參考了幾個文章: 首先根據這篇文章: devcloud上yum install 安裝軟件報錯403 打開 /root/.bashrc 文件,然后在最末尾可以看到 no_proxy: export no_pr…

控制器中獲取Field值

在ASP.NET MVC程序中,我們需要POST Data到制器中,是有很多方法。但是我們想在控制器中,獲取Feild值呢?怎樣獲取?你可以留意到有一個類FormCollection。它能幫助到我們解決這個問題。 舉個簡單的例子。在ASP.NET MVC應用…

new(std::nothrow)

new(std::nothrow) 顧名思義,即不拋出異常,當new一個對象失敗時,默認設置該對象為NULL,這樣可以方便的通過if(p NULL) 來判斷new操作是否成功 普通的new操作,如果分配內存失敗則會拋出異常,雖然后面一般也…

如何刪除cygwin

網上大多數方法在不具備用戶權限獲取的情況下都不能工作。 國外有人通過很簡單的命令行就實現了: Here’s how to remove Cygwin once and for all. You will need Cygwin cmd.exe 2 minutesRun cmd, navigate to C:\ (or other disk, if you have installed it in …

私有RTP協議和標準流媒體協議

先介紹下RTP協議: 實時傳輸協議RTP(Real-time Transport Protocol)是一個網絡傳輸協議 ,該協議詳細說明了在互聯網上傳遞音頻和視頻的標準數據包格式 。 RTP標準定義了兩個子協議 ,RTP和RTCP 數據傳輸協議RTP&#xff…

【python】入門學習(五)

字符串: 正索引,從0開始 和 負索引,從-1開始 >>> s apple >>> s[0] a >>> s[1] p >>> s[2] p >>> s[3] l >>> s[4] e >>> s[-1] e >>> s[-2] l >>> s[-3…

實現 winform 異步跨線程訪問UI控件

在開發winform時經常會用到多線程防止界面出現假死現象,比如當你單擊某個按鈕時,需要執行很多代碼,但是在執行過程中想實時的將當前執行的情況報告給用戶,類型進度條或文本什么的。 這個時候很顯然,如果你把要實現的內…

JavaScript對象的創建總結

方式 缺點 優點 基于已有對象擴充屬性和方法 不可重用,沒有約束 無 工廠方法 檢測不出是什么的實例 簡單封裝,可以傳參 構造方法 每創建一個對象就有開辟存放方法的空間 能通過instanceof檢測出實例類型,可以傳參 原型方式 不能…

從WebRtc學習RTP協議

文章目錄TCP為何不適用于實時音視頻UDP->RTPRTP協議結構JittbufferRTP擴展頭RTP填充數據參考TCP為何不適用于實時音視頻 可靠性是以犧牲實時性為代價的。按照TCP原理,當出現極端網絡情況時,理論上每個包的時延可達到秒級以上,而且這種時延…

我的第一個android應用上架,紀念一下

好久沒有寫博客了,最近一直在忙著弄自己的“汽車小助手“http://www.mumayi.com/android-318299.html軟件,終于在今天上架了,盡管今天的廣告收入只有5毛,寫個博客紀念一下。里面嵌入了萬普平臺的廣告,大家都懂得。一天…

內核態與用戶態【轉載】

原文:http://blog.csdn.net/skywalkzf/article/details/5185442 內核態與用戶態是操作系統的兩種運行級別,intel cpu提供Ring0-Ring3三種級別的運行模式。Ring0級別最高,Ring3最低。其中特權級0(Ring0)是留給操作系統代…

解決ListView異步加載數據之后不能點擊的問題

在ListView的onScroll事件中執行異步加載數據,然后使用notifyDataSetChange()函數更新適配器,之后發現listView不能點擊了,這問題苦惱了我半天。最后在一篇博文中發現調用listView的requestFocusFromTouch()函數終于解決了這問題。 Java代碼…

從WebRtc學習RTCP協議

文章目錄RTCP支持的消息類型RTCP協議頭WebRTC的反饋報文RTPFB支持的報文類型:PSFB支持的報文類型:參考RTCP是RTP的控制協議.那么RTCP能對RTP做哪些控制呢?其中最為大家熟知的就是 丟包控制。發送端發送數據后,接收端如果發現有RTP…

白話經典算法系列之中的一個 冒泡排序的三種實現

冒泡排序是很easy理解和實現,,以從小到大排序舉例: 設數組長度為N。 1.比較相鄰的前后二個數據,假設前面數據大于后面的數據,就將二個數據交換。 2.這樣對數組的第0個數據到N-1個數據進行一次遍…

如何用java代碼讓android Market顯示指定的程序以便用戶下載?

Uri uri Uri.parse("market://search?q名稱");Intent i new Intent("Intent.ACTION_VIEW", uri);startActivity(i);//根據應用程序ID應用程序的包名Uri urii Uri.parse("market://details?idcom.xiaoqiu.test");Intent ii new Intent(&quo…

無鎖隊列設計思路以及簡要代碼

文章目錄非并發的一寫一讀環形隊列多讀多寫環形隊列非并發的一寫一讀環形隊列 讀指針: 1、先判斷是否有數據 2、讀取數據 3、操作指針 寫指針: 1、先判斷空間是否足夠 2、寫入數據 3、操作指針 所以代碼也十分簡單: bool putqueue(void* pDa…

vs 2012,vs 2013問題系列

系統環境: 64位 win7 1,問題: 之前能連接tfs進行源碼管理,期間有改過本地電腦的時間,再后來使用vs 2012連接tfs卻失敗了。錯誤碼:TF31002。排除了網絡問題,用戶權限問題,tfs服務器問…