MySQL Replication Slave 使用 Bash Script 來忽略錯誤語法

MySQL Replication Slave 遇到 Duplicate entry ... 等等的錯誤,需要使用下述命令跳過:

  1. STOP SLAVE;
  2. SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
  3. START SLAVE;

要寫成 Script 怎麼做呢?

閱讀全文〈MySQL Replication Slave 使用 Bash Script 來忽略錯誤語法〉

Debian Linux 升級 Buster 強制移除套件來安裝 Percona MySQL 5.7

Debian Linux 由 Stretch 升級到 Buster 後,原本 Stretch 的 Percona MySQL 是使用 5.7,但是升級到 Buster 後,Percona Stable 預設是 5.6,於是就遇到套件卡關,5.6、5.7 都裝不起來,要怎麼 強制解除安裝再來重新安裝呢?

閱讀全文〈Debian Linux 升級 Buster 強制移除套件來安裝 Percona MySQL 5.7〉

MySQL 使用 LOAD DATA INFILE 遇到 duplicate 與 secure-file-priv 解法

MySQL 想要 Import 大量資料進去資料庫,很常遇到 CSV 的資料需要做這種動作,MySQL 預設就可以使用 LOAD DATA 的方式來達成。

  • 註:此篇的 CSV 是使用 Tab 分隔的。

閱讀全文〈MySQL 使用 LOAD DATA INFILE 遇到 duplicate 與 secure-file-priv 解法〉

MySQL 如何計算此語法的實際花費時間

想要查看某段程式花費多少時間,就只要前後包起來,把花費時間相減即可,但是 MySQL 在操作的時候,想要多組語法都做下去,最後再一起看花費的時間,可以做到這點嗎?

閱讀全文〈MySQL 如何計算此語法的實際花費時間〉

Google Data Studio 會使用哪些 IP 連接自己 MySQL

Google Data Studio 可以連接自己指定的 MySQL,來將資料呈現出來。

但是自己的 MySQL 要被連接,大剌剌的公開被連接風險更大,至少得把 IP 限制在一定範圍內。

Google Data Studio 有提供 IP Range,Firewall 或 MySQL 要記得加上這些限制囉~

閱讀全文〈Google Data Studio 會使用哪些 IP 連接自己 MySQL〉

MySQL Log 所有 SQL 語法

MySQL 最常使用的是 Log Slow Query,但是除了 Slow Query 外,還有情況是要抓不知哪來的 SQL 語法,或者要查是哪些語法一起來造成 Lock 等等的問題,所以想要知道 MySQL 到底都接收到哪些 SQL Query?

要怎麼將所有的 SQL 語法都記錄下來呢?

閱讀全文〈MySQL Log 所有 SQL 語法〉

MySQL 的 Access denied for user 'debian-sys-maint' 錯誤訊息修復

Debian Linux 升級、重啟 MySQL 時,遇到下述錯誤:

/usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

該怎麼修復呢?

閱讀全文〈MySQL 的 Access denied for user 'debian-sys-maint' 錯誤訊息修復〉

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;