MySQL Replication 設定 Delay 多久時間

MySQL Replication 的 Slave 想要設定預設 Delay 一些時間,要怎麼設定?Slave status 要怎麼看?

閱讀全文〈MySQL Replication 設定 Delay 多久時間〉

MySQL 只要或排除 Replication 某DB 的設定方式

MySQL Replication 預設是將所有設定都同步到 Slave,只想要將某些資料庫同步,或者某些資料庫不要同步,要怎麼做呢?

閱讀全文〈MySQL 只要或排除 Replication 某DB 的設定方式〉

MySQL 將 Table Character 由 UTF8 改為 UTF8MB4

MySQL Table 以前建立 Table 是使用 UTF-8 (3 bytes),現在因為一些特殊字、Emoji 等等,需要用到 4 bytes,所以需要使用 UTF8MB4,線上要怎麼動態修改呢?

  • 註:MySQL 5.5.3 以後開始支援 UTF8MB4 (5.5 以前的實際名稱叫 UTF8MB3)

閱讀全文〈MySQL 將 Table Character 由 UTF8 改為 UTF8MB4〉

MySQL 備份目前 線上所有設定變數值

MySQL 想要比較兩台機器的設定差異,從 my.cnf 這些看並不太準,有些是在線上跑得時候,手動去修改,可能沒有寫進 my.cnf,所以需要把目前現在系統的設定變數值都備份出來,再 來比對會比較準。

MySQL 線上系統的所有變數設定值備份方式:

  • mysql -u root -p -e "SHOW GLOBAL VARIABLES" > MySQL-Current-Settings.txt

若想比對多台機器的設定,就到各台機器去下這個語法,然後在自行 diff 看看囉~ 🙂

使用 SchemaCrawler 將 ERD 做最簡化的線圖

當資料庫 Table 太多,相關的 PK、FK 就會很多,畫出 ERD 的線圖自然會複雜到看不懂

想要盡量把 ERD 的線拉直,盡量不要看起來飛來飛去的,可以靠 SchemaCrawler 來直接生成

閱讀全文〈使用 SchemaCrawler 將 ERD 做最簡化的線圖〉