MySQL 於 CLI 對所有 DB、Table 做 OPTIMIZE

MySQL 可以在 SQL 語法做 OPTIMIZE、Repair 等等的動作,於 CLI 也可以做,作法如下:

對所有 Database 做 OPTIMIZE 語法:

  • mysqlcheck -o --all-databases
  • mysqlcheck -o --all-databases -u [username] -p[password]

比較常用的 Analyze、Repair、Optimize 語法:

  • mysqlcheck -u [username] -p[password] -o [database name]
  • mysqlcheck --all-databases # -A
  • mysqlcheck --all-databases --analyze # -Aa
  • mysqlcheck --all-databases --auto-repair # -A --auto-repair
  • mysqlcheck --all-databases --optimize # -Ao
  • 於上述命令後面自己加上 -u root -p
  • 上述 指令「不能」複合一起下

MacOS 解決 missing xcrun 的問題

MacOS 的 CLI 執行遇到下述錯誤: (zsh update 或 oh-my-zsh update 忘了,就會遇到這個問題)

  • xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

解法

  • xcode-select --install

GitUI:Linux CLI 查看 Git Repository 的圖形化工具

Linux CLI 想要使用 GUI 來查看 Git Repository 的工具,比較常見的就是 tig,還有 grv 等等。

發現一套使用 RUST 寫得工具:GitUI,速度很快,只有一個執行檔,安裝使用都很方便~

閱讀全文〈GitUI:Linux CLI 查看 Git Repository 的圖形化工具〉

PHP 於 CLI 吃 URL 參數 給 $_GET 使用

PHP 於 CLI 界面,想要將網址的參數丟進去,然後讓 $_GET 直接吃到,該怎麼做呢?

註:使用情境在於網頁程式寫好,但是想要測試的時候,於 CLI 想要使用同樣頁面來做測試,可以這樣子做。

閱讀全文〈PHP 於 CLI 吃 URL 參數 給 $_GET 使用〉

Linux Top 常用快速鍵 與 CLI 參數

Linux 要查看系統 Load、CPU、RAM、Process ... 等等,最常用也通用的工具就是 top。

top 進入後,有些快速鍵可以讓操作或資訊比較容易觀看(彩色 + highlight),也可以寫入 ~/.toprc 裡面,預設就可以使用。

閱讀全文〈Linux Top 常用快速鍵 與 CLI 參數〉

Python CLI 的快速語法(Syntax)檢查

Python、Python3 寫好程式後,程式不想要執行的情況,想要快速確認是否有語法異常,可以用下述作法達成:

  • python -m py_compile example.py
  • python3 -m py_compile example.py

故意寫個錯誤來跑 (example.py 寫個 「aaa x =」)

  • python3 -m py_compile example.py # 正常就沒有任何事情,有錯誤會如下述:
    File "example.py", line 3
    aaa x =
    ^ SyntaxError: invalid syntax

另外還有下述可以使用:

MySQL 使用 mysql_config_editor 避免 CLI 出現密碼

MySQL 在 Bash Shell、Script 執行,若有密碼直接打在命令列裡面,都會出現下述的警告 (Warning):

Warning: Using a password on the command line interface can be insecure

為何會有這個警告呢?

主要是平常 CLI 的命令,用 ps 都可以查看到,若密碼打在上面,密碼很容易就因此洩漏出去(不過 MySQL 新版有避免這個問題,密碼直接輸入,於 ps 是看不到密碼的)。

當然除了 ps 外,還有很多方法可以查看,在此就不繼續探討。

閱讀全文〈MySQL 使用 mysql_config_editor 避免 CLI 出現密碼〉

MySQL CLI 關閉 auto commit 避免失誤

MySQL 於 CLI 操作時,通常都要特別小心再小心,但是也是很難避免有意外的發生,此時可以使用 Transaction 的特性,再多一層保障。

  • 注意:上述需要支援 Transaction(交易)(例如:InnoDB),MyISAM 是不支援 Transaction 的

閱讀全文〈MySQL CLI 關閉 auto commit 避免失誤〉