MySQL show processlist 太多雜訊的解法

MySQL 使用 show processlist、show full processlist 常常會出現一卡車的 Sleep,>或者一些想要過濾掉的東西,可以怎麼做呢?

閱讀全文〈MySQL show processlist 太多雜訊的解法〉

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 避免失誤〉

使用 mysqldump 倒出 MySQL 所有資料庫(表) 固定筆數的資料

想要快速建立開發、測試環境,資料庫的資料通常最難搞定。

此篇將隨意由 MySQL 的各個資料庫、各個 Table 倒出固定筆數的資料,然後快速匯入產生開發、測試環境。

  • 注意:此篇「沒辦法」搞定資料相依性、資料匿名、資料隱藏等等。

閱讀全文〈使用 mysqldump 倒出 MySQL 所有資料庫(表) 固定筆數的資料〉

好文:MySQL、MariaDB 與 Percona 的比較 - 2017

MySQL 被 Oracle 買走了,有另外兩個分支 MariaDB 和 Percona 可以使用,都發展的還不錯,也幾乎都相容,但是到底各個分支有什麼優缺點呢?

要選擇 MySQL 想要用哪個版本,可以參考此篇文章。(此篇文章裡面還可以知道很多有用的工具)

MySQL 安裝 bi-gram 做 Fulltext Search

於 MySQL 5.5、5.6 的版本,想要靠 MySQL 本身的 MyISAM 做 Fulltext search,需要搭配 Bigram 的套件

  • 註1:此篇文章的環境是 Debian jessie 預設的 MySQL 5.5 版
  • 註2:Percona 預設有啟用 ngram,就不需要另外安裝 bigram

閱讀全文〈MySQL 安裝 bi-gram 做 Fulltext Search〉