MySQL 使用 show processlist、show full processlist 常常會出現一卡車的 Sleep,>或者一些想要過濾掉的東西,可以怎麼做呢?
標籤: mysql
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 CLI 關閉 auto commit 避免失誤
MySQL 於 CLI 操作時,通常都要特別小心再小心,但是也是很難避免有意外的發生,此時可以使用 Transaction 的特性,再多一層保障。
- 注意:上述需要支援 Transaction(交易)(例如:InnoDB),MyISAM 是不支援 Transaction 的
MySQL 強制關閉的方式
Linux 要將 MySQL 關閉的方法,有下述幾種:
- /etc/init.d/mysql stop
- service mysql stop
- systemctl stop mysql
但是發現關不掉要怎麼辦呢?
- 註:若 my.cnf 有修改,記得先改回去,再來嘗試關閉 MySQL 的動作
使用 mysqldump 倒出 MySQL 所有資料庫(表) 固定筆數的資料
想要快速建立開發、測試環境,資料庫的資料通常最難搞定。
此篇將隨意由 MySQL 的各個資料庫、各個 Table 倒出固定筆數的資料,然後快速匯入產生開發、測試環境。
- 注意:此篇「沒辦法」搞定資料相依性、資料匿名、資料隱藏等等。
好文:MySQL、MariaDB 與 Percona 的比較 - 2017
MySQL 被 Oracle 買走了,有另外兩個分支 MariaDB 和 Percona 可以使用,都發展的還不錯,也幾乎都相容,但是到底各個分支有什麼優缺點呢?
- 推薦可以參考此篇文章:MySQL vs. MariaDB: Reality Check
要選擇 MySQL 想要用哪個版本,可以參考此篇文章。(此篇文章裡面還可以知道很多有用的工具)
MySQL CLI ping 驗證是否活著
MySQL 看是否有起來,ps + grep 或 netstat 看 3306 都可以,但是內部已經死掉的話,要怎麼知道呢?
Pinboard 公開自己的 Database Schema 設計
Pinboard.in 是跟 Delicious 類似的 bookmarking 服務(還是已經把 Delicious 買了?),上上週透過 Twitter 釋出自家的資料庫規劃設計。
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 經緯度的欄位儲存格式設定
MySQL 對 Geo 的經緯度欄位格式要設什麼值,看到蠻多不同的答案的,來蒐集測試看看。