今天遇到錯誤訊息耽誤了很久:
... foreign key constraint 'xxx_id_foreign' are incompatible.
錯誤訊息沒有詳細列出可能的錯誤,追了很久才知道有一些地方要注意。
More “Laravel Migration 出現 foreign key constraint in complete 注意事項” »
軟體開發、伺服器和生活瑣事
今天遇到錯誤訊息耽誤了很久:
... foreign key constraint 'xxx_id_foreign' are incompatible.
錯誤訊息沒有詳細列出可能的錯誤,追了很久才知道有一些地方要注意。
More “Laravel Migration 出現 foreign key constraint in complete 注意事項” »
遇到 MySQL 的「deadlock wait timeout exceeded」,可以參考「Lock wait timeout exceeded; try restarting transaction」的說明。
尚未找到造成此問題的 query,暫時的解決辦法是:
innodb_lock_wait_timeout
的值調大 (注意:不是 wait_timeout
這個參數)long_query_time = 10
log_queries_not_using_indexes
記錄沒有使用到 index 的 query (這類 query 可能導致 table scan 而花掉超多的時間)在蒐集 log 的期間,可以先去看一下 table schema,看看是不是有哪一些 column 或 combined index 怪怪的,跑 EXPLAIN
確定一下 index 是不是真的有用到
上一篇文章提到 Proxmox packages site 使用 CDN,可惜 routing 爛掉不管怎麼連都很慘。最後還是靠 apt 設定來走 SSH tunnel。
在 /etc/apt/apt.conf.d
目錄下應該會有 *proxy
的檔案,在檔案中填入:
Acquire::http::proxy "socks5h://127.0.0.1:8080"; Acquire::socks::proxy "socks5h://127.0.0.1:8080";
這樣 apt 確定可以 proxy 可以連線就會優先走 proxy。
備註:Proxmox 的 *proxy
檔是自動產生的,所以可以考慮直接建立新檔 /etc/apt/apt.conf
。
原廠預設的 package server 是 download.proxmox.com
,這個 domain 是 CDN,但只要 ISP 出錯,route 就會爛掉 (network unreachable
/ connection timeout
)。
若急需使用時,Proxmox 官方建議直接設定 cdn 的 domain,已知台灣連線較順的 CDN 為:
不過 ISP 正解還是有可能拿到錯的 IP,所以就佛祖保佑 (?)