Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

標籤: Linux

MySQL 的 replication logs 把硬碟空間吃光

Posted on 2020 年 1 月 31 日2021 年 3 月 12 日 By 日落 在〈MySQL 的 replication logs 把硬碟空間吃光〉中尚無留言

今天服務一直中斷,稿不清楚狀況,只是開 console 進機器看,沒看還好,看了嚇一跳,硬碟空間全部被吃光了。

所以先嘗試把可以清空的資料清空:

sudo apt-get autoclean
sudo apt-get clean

cd ~
rm -fr .cache/*

空出了一些空間,但是也大概只有 1 % 左右,所以用 du 掃了一下目錄狀況,發現 /var 佔用超過 10 GB 的空間,這樣目標很明顯了:Docker 或是 MySQL。

先看 Docker,的確不少已經中止不再使用的 container,直接清空:

 $docker system prune
WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all dangling images
        - all dangling build cache
Are you sure you want to continue? [y/N] Y

du 看了一下, /var 還底下還是有一些佔空間的檔案:

找了一下和 log 有關的設定:

max-binlog-size = 128M
innodb-log-file-size = 64M

似乎都沒與此事件無關。不過看到關鍵字「binlog」,查了一下用途,是 master / client 用來同不的 log,應該是我之前抄 DK 的設定檔,抄完忘記把不需要的東西拔乾淨的關係 XD

兇手找到了就不用客氣,把 MySQL replication 的設定全部註解掉。再來登入 MySQL,使用指定把 replication log 全部清乾淨:

purge master logs before now();
Tags:Linux, MySQL

好兇的印表機

Posted on 2019 年 12 月 24 日2021 年 3 月 12 日 By 日落 在〈好兇的印表機〉中有 1 則留言

不知道是誰翻譯的,雖然不算完全翻譯正確,但也算是讓人輕鬆一笑。

Tags:Linux, XD

MySQL non-interactice installation

Posted on 2019 年 11 月 11 日2021 年 3 月 12 日 By 日落 在〈MySQL non-interactice installation〉中尚無留言

相信大家對這個畫面都不陌生:

除了 MySQL 5.7 的某幾個版本會自動產生 root 的 password 以外,大多都是在安裝時讓使用者自行輸入密碼。

但今天你不是手動安裝,而是寫 script 讓主機自行部屬,這下就麻煩了,因為你不可能每台主機都人工輸入密碼,另外像是 AWS 自動部屬的話,你大概連 console 都沒有。但若透過 debconf 是有機會做到完全自動安裝。

首先來安裝 debconf:

sudo apt-get install debconf

稍等為了讓大家看一下 deb 的 interactive mode 是怎麼撰寫的,在安裝 ar 套件:

sudo apt-get install binutils

今天要被我拿來操刀的是「mysql-community-server_5.7.27-1ubuntu18.04_amd64.deb」。先用 ar 把 deb 檔解開,可以看到同下方的檔案:

$ ls
control.tar.xz  data.tar.xz  debian-binary

這邊要解壓縮「tar xvf control.tar.xz」,解開後會多出幾個檔案:

$ ls
conffiles  config  control  debian-binary  postinst  postrm  preinst  prerm  templates

這邊只專注於「config」檔,其他檔案先不管。開啟「config」檔以後,大概可以看到幾個關鍵字,像是:

  • db_input
  • db_get
  • db_fset
  • mysql-community-server/root-pass

這幾個關鍵字和整個 shell script 就是用來和使用者互動的指令,也就是最上面看到的那張圖。經由 db_set + variable-name 就可以暫存使用者輸入的資料,接下來就透過這幾個變數來動手腳。

先告知 debconf 不使用互動的方式來安裝 deb:

export DEBIAN_FRONTEND="noninteractive"

既然沒有和使用者互動,理當不會有 root 密碼,但可透過「debconf-set-selections」的方式來幫 package 設定:

debconf-set-selections <<< "mysql-community-server/root-pass password root"

之後安裝時就不會出現使用者輸入提示視窗了:

dpkg -i mysql-community-server_5.7.27-1ubuntu18.04_amd64.deb
apt-get install -f  # 安裝需要的 dependedncy
apt --fix-broken -y install
Tags:Linux, MySQL

讓 less 可以顯示 ANSI 色彩

Posted on 2019 年 8 月 23 日2021 年 3 月 12 日 By 日落 在〈讓 less 可以顯示 ANSI 色彩〉中尚無留言

應該不少人有經驗,在使用 grep 時,要搜尋的關鍵字會用顏色 highlight 方便閱讀,例如:

$ ls -lh | grep php
-rw-rw-r--  1 zero zero  178 Aug 22 19:15 autoload.php
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 cakephp
drwxrwxr-x  5 zero zero 4.0K Aug 22 19:01 phpdocumentor
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpoffice
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpoption
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpseclib
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpspec
drwxrwxr-x  8 zero zero 4.0K Aug 22 19:01 phpunit

不過如果因為列表很長,在把搜尋結果 pipe 給 less 以後,顏色就消失了。

這其實是 grep 這邊會判斷 output 到哪一種型態的 I/O,像是後面接的是 bash pipe,grep 就會自動移除 ANSI color 的 syntax,畢竟不知道 pipe 資料給誰,如果後者不支援 ANSI color 就會變成亂碼。

如果很確定 pipe 後面的指令、工具支援 ANSI color 的指令,就可以下參數要求 grep 輸出顏色。例如:

$ ls -lh | grep php --color=always | less
-rw-rw-r--  1 zero zero  178 Aug 22 19:15 autoload.php
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 cakephp
drwxrwxr-x  5 zero zero 4.0K Aug 22 19:01 phpdocumentor
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpoffice
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpoption
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpseclib
drwxrwxr-x  3 zero zero 4.0K Aug 22 19:01 phpspec
drwxrwxr-x  8 zero zero 4.0K Aug 22 19:01 phpunit
Tags:Bash, Linux

LibreOffice 加油啊

Posted on 2019 年 7 月 21 日2021 年 3 月 12 日 By 日落 在〈LibreOffice 加油啊〉中尚無留言

昨天鄰居想嘗試使用 Linux,大致上都沒什麼問題,但卡到二個點:

  • 輸入法:沒有順手的輸入法 (倉頡)
  • Office 文件工具組:LibreOffice 的操作實在很不直覺,從 M$ 跳到 LibreOffice 目前還沒聽過有人說好用的。
今天還是幫他改回 Windows 系統,實在可惜。
Tags:Linux, Microsoft

文章分頁

上一頁 1 ... 15 16 17 ... 32 下一頁

其他

關於我  (About me)

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.