如何移除並取消 MySQL 的 binary log 檔案

o MySQL 的 binary log 檔案佔了磁碟很多的空間

在例如 /var/lib/mysql/ 目錄可能會發現不少 MySQL 的 binary log 檔案:
-rw-rw—- 1 mysql mysql 29662 Aug 6 23:53 mysql-bin.000001
-rw-rw—- 1 mysql mysql 1055243 Aug 6 23:53 mysql-bin.000002
-rw-rw—- 1 mysql mysql 1073790447 Aug 7 00:42 mysql-bin.000003
-rw-rw—- 1 mysql mysql 1074547174 Aug 7 01:30 mysql-bin.000004
-rw-rw—- 1 mysql mysql 1074351847 Aug 7 01:54 mysql-bin.000005
-rw-rw—- 1 mysql mysql 1074535688 Aug 7 02:01 mysql-bin.000006
-rw-rw—- 1 mysql mysql 1074495922 Aug 7 02:07 mysql-bin.000007
-rw-rw—- 1 mysql mysql 1074497579 Aug 7 02:13 mysql-bin.000008
-rw-rw—- 1 mysql mysql 147849819 Aug 7 17:21 mysql-bin.000009

這些檔案可以佔住了磁碟很多的空間。

這一篇要說明如何正規方式移除這些檔案,並改寫 my.cnf 設定組態不去記錄這些二進位日誌檔案。 Continue reading “如何移除並取消 MySQL 的 binary log 檔案”

隨記: MySQL 預設的字集是不分大小寫,所以…

o MySQL 預設的字集是不分大小寫 (not case sensitive)
. 所以 jjdai 和 JJDai 不可能同時加到一被設定成 primary key 的欄位。
. 要故意做大小寫比較的話可用:
SELECT * FROM ub WHERE nickname LIKE ‘JJDai’ COLLATE big5_bin;
SELECT * FROM ub WHERE nickname LIKE binary ‘jjdai’ LIMIT 0 , 30
. 將字集設定成 binary 即可區分出大小寫。

隨記: MySQL 表格中數字欄位有設定 auto_increment 屬性時

o 數字欄位有設定 auto_increment 屬性時
. 系統會記錄一個值當作下一個要加一的值。
. 要是手動新增一個值大於系統記錄的值,則系統會將他記錄的值設定成目前最大的那個。
. 手動新增一值小於系統記錄的值,則再讓系統自己決定值時,仍然以系統記錄的值加一。
. there can be only one auto column and it must be defined as a key.
. 重新設定 auto_increment 數值的方法: ALTER TABLE `t` AUTO_INCREMENT =7