MySQL 修改 AUTO_INCREMENT 最後累加的值

MySQL 的 Primary Key 使用自動累加 AUTO_INCREMENT,使用 show create table tbl 就可以看到下一個最新要設定的 AUTO_INCREMENT 值是多少 (或者 SELECT MAX(id) + 1 FROM tbl 查看)

想要修改 AUTO_INCREMENT 下一個新增的值,可以使用下述 SQL 語法:

  • mysql> ALTER TABLE tbl AUTO_INCREMENT = n;
  • mysql> ALTER TABLE tbl AUTO_INCREMENT = 1;

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〉