Linux 使用 NC 來做簡易對話溝通

Linux 想要臨時做個溝通的 Client - Server,可以使用 nc 來達成

Server

  • nc -l -p 1234 # 開一個 1234 的 Port

Client

  • nc localhost 1234 # localhost 或者遠端 IP 皆可,連到 1234 Port
  • telnet localhost 1234 # 也可以使用 telnet 連接

連接上後,就可以互相傳送任何字串,做臨時測試 Port 有沒有被阻擋、臨時要傳送資料都很方便

MySQL 查看 GRANT 使用者授權內容

MySQL 使用者權限後,查詢通常可以查看 MySQL 內部的 mysql.user Table 來查詢各個權限,不過想查看更詳細的,可以靠 SHOW GRANTS 來達成。

MySQL 的 SHOW GRANTS 參數不多,蠻簡單的~

  • SHOW GRANTS [FOR user_or_role [USING role [, role] ...]]
  • SHOW GRANTS;
  • SHOW GRANTS FOR CURRENT_USER;
  • SHOW GRANTS FOR CURRENT_USER();
  • e.g:
    • SHOW GRANTS;
    • SHOW GRANTS FOR username@localhost;
    • SHOW GRANTS FOR 'username'@'localhost';

不過這次除了這些操作外,還遇到一些習慣上的問題,查詢才知道 SHOW GRANTS 都不支援,在此順便做點紀錄,避免自己再犯浪費時間~

閱讀全文〈MySQL 查看 GRANT 使用者授權內容〉

MySQL Replication Slave 使用 Bash Script 來忽略錯誤語法

MySQL Replication Slave 遇到 Duplicate entry ... 等等的錯誤,需要使用下述命令跳過:

  1. STOP SLAVE;
  2. SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
  3. START SLAVE;

要寫成 Script 怎麼做呢?

閱讀全文〈MySQL Replication Slave 使用 Bash Script 來忽略錯誤語法〉

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

Debian Linux 使用 certbot 申請 Wildcard SSL

想要使用 Let's Encrypt 申請 Wildcard 的 SSL (HTTPS) 憑證,又不想用 snapd。

  • 註1:想使用 apt 的 certbot 來申請,要怎麼做?
  • 註2:系統為 Debian Linux Buster (10)

閱讀全文〈Debian Linux 使用 certbot 申請 Wildcard SSL〉

Linux SSH 想避免 setlocale: LC_ALL: cannot change locale 的訊息

Linux SSH 到其它機器的時候,若自己的環境有設定 locales 是 zh_TW.UTF-8,但是連到的環境是沒有設定此語系的(通常是 en_US.UTF-8),就會出現下述的警告訊息:

  • -bash: warning: setlocale: LC_ALL: cannot change locale (zh_TW.UTF-8)

要如何避免此問題呢?

閱讀全文〈Linux SSH 想避免 setlocale: LC_ALL: cannot change locale 的訊息〉