MySQL 查看 GRANT 使用者授權內容

MySQL 使用者權限後,查詢通常可以查看 MySQL 內部的 mysql.user Table 來查詢各個權限,不過想查看更詳細的,可以靠 SHOW GRANTS 來達成。

MySQL 的 SHOW GRANTS 參數不多,蠻簡單的~

  • SHOW GRANTS [FOR user_or_role [USING role [, role] ...]]
  • SHOW GRANTS;
  • SHOW GRANTS FOR CURRENT_USER;
  • SHOW GRANTS FOR CURRENT_USER();
  • e.g:
    • SHOW GRANTS;
    • SHOW GRANTS FOR username@localhost;
    • SHOW GRANTS FOR 'username'@'localhost';

不過這次除了這些操作外,還遇到一些習慣上的問題,查詢才知道 SHOW GRANTS 都不支援,在此順便做點紀錄,避免自己再犯浪費時間~

閱讀全文〈MySQL 查看 GRANT 使用者授權內容〉

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' 錯誤訊息修復〉