MySQL 若想要用 source 執行大量的 SQL 語法,想要知道執行到哪邊,就得要在執行中途插入字串或 Log,在 MySQL 可以怎麼做呢?
標籤: mysql
debian-sys-maint 問題造成 MySQL 無法重新啟動 修復
MySQL restart failed,然後 journalctl -xe 查看,才發現下述錯誤:
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
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 Replication Slave 使用 Bash Script 來忽略錯誤語法
MySQL Replication Slave 遇到 Duplicate entry ... 等等的錯誤,需要使用下述命令跳過:
- STOP SLAVE;
- SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
- START SLAVE;
要寫成 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 都裝不起來,要怎麼 強制解除安裝再來重新安裝呢?
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 列出、新增、移除 管理有權限的帳號
MySQL 8.0 後,新增帳號有些改變,順便把 新增 / 刪除 / 查詢帳號有哪些權限,全部做個整理。
Google Data Studio 會使用哪些 IP 連接自己 MySQL
Google Data Studio 可以連接自己指定的 MySQL,來將資料呈現出來。
但是自己的 MySQL 要被連接,大剌剌的公開被連接風險更大,至少得把 IP 限制在一定範圍內。
Google Data Studio 有提供 IP Range,Firewall 或 MySQL 要記得加上這些限制囉~
MySQL Log 所有 SQL 語法
MySQL 最常使用的是 Log Slow Query,但是除了 Slow Query 外,還有情況是要抓不知哪來的 SQL 語法,或者要查是哪些語法一起來造成 Lock 等等的問題,所以想要知道 MySQL 到底都接收到哪些 SQL Query?
要怎麼將所有的 SQL 語法都記錄下來呢?