主機空間爆滿不夠用,這件事隨著經營一段時間後非常有機會發生。其中一個原因可能與 MySQL 的 Binlog 記錄檔案也脫離不了關係。 關於 Binlog 網路資源已經很多介紹,這裡也不多提了。就是一種帶有時序的 SQL 指令紀錄檔案。 由於 MySQL 在 Replication 模式下 Mast …
標籤彙整: MySQL
[Git] 使用 pre-commit 匯出 MySQL 資料庫結構實現版本控制
現在很多開發框架把資料庫的定義都包裝在 Model 設計裡,所以不需要特別處理到資料庫。但事實上過多包裝就會有其他延伸成本,這裡不多說。 總之開發一個應用程式,通常不只有主程式,還包含了資料庫的設計。但資料庫結構如有更動要怎麼也透過版本控制紀錄? Git 有提供 hooks 機制 分別在本機與線上。 …
[MySQL] 無指令方式將 latin1_swedish_ci 編碼資料匯出成 UTF-8
這需求總還是會來。不是每次都有機會透過先前文章「轉換 MySQL 匯出 Latin1 編碼的 SQL 檔為 UTF-8」使用指令來本機處理,畢竟當資料量太大的時候,會有很多貧頸。 Google 了一番後找到這篇「latin1_swedish_ci 轉 utf8_general_ci」。 第一種方式超 …
[VPS] 五年主機升級資料庫後發生了什麼事
前陣子感覺這台主機應該要升級一下,先從資料庫開始。(自討苦吃的開始) mysqldump –all-databases > dump.sql 一行指令先將所有資料庫打包。中間碰到不少早已不存在的破碎檔案阻礙匯出(Wordfence 有雷!)。障礙排除後就大膽把資料庫給重新編譯安裝。 …
[WordPress] 高可用性(High Availability)網站的資料庫解決辦法 – HyperDB
當網站要做到這件事的時候,就表示你發了(?) 哈哈,流量大噴發這樣XD 市面上有不少玩法,搜尋「Load Balancer + WordPress」就可以發現一堆文章。 今天這篇純粹解析 WordPress[.]com 的玩法! 靈感來自「他們什麼都開源了,那來找一下他們的方法是什麼吧」,結果找到 …
閱讀全文〈[WordPress] 高可用性(High Availability)網站的資料庫解決辦法 – HyperDB〉
[MySQL] 效能瓶頸與欄位內容值大小寫敏感(case sensitive)設定
給最近 Cover 出國同事之餘,解決的零散小事做個小筆記。 MySQL issues 效能瓶頸A: WordPress 內建文章若匯入超過 20 萬篇,分類頁等列表頁效能在有一些瀏覽人數狀態下會出現 MySQL 崩潰的問題。 解法: 換架構 或 升級主機。 主機是 20 USD/Month 的 V …
[PHP] 高流量網站服務建置高可用性(HA)架構
根據服務性質,要建置高可用性(High Availability)網站有不同的配法。 單純的靜態內容如果要完成高可用性的架構,最簡單的就是把檔案用很多台機器同步備份來服務,經典常聽到的服務就是 CDN。 如果需要用到資料庫的話就是把資料庫抽離,獨立一台或多台,讓服務平均被存取,消耗流量。 在更進階一 …
[MySQL] 使用 CSV 檔案匯入資料表
快速總結:這功能,幾筆之下很好用,幾百萬筆之下霹靂好用! 匯入這種需求滿常見的,尤其是給定某些資料需要做查詢時。不過,當你要匯入的檔案越大時其實選擇就不多,大概就是能直接檔案轉存就不要寫程式去分析(parsing)。 原因只有「速度」。經過分析轉譯的操作速度超級慢,更還有可能因為寫的架構沒顧慮到匯入 …
[VPS] 自我檢查網站服務健康度與重新啟動服務
這篇主題其實有點難歸類,到底要算是 Shell Script 還是要 VPS 呢?XD 看下圖表不難發現是一台頑強的 VPS ,每天辛勤工作都快過勞了。而事實上他還真的每天有些時候會突然罷工(ex: 備份時段、有猛爆請求發生!?) 身為一個興趣型小技工兼荷包守門人怎能在這時候說升級主機就升級? 於是 …
[Elasticsearch] 在 Ubuntu 下安裝使用紀錄
資料(data)與資訊(Information)的差別是一個在資訊相關科系中非常常見的問題。而轉換中間的過程就是選對工具上天堂,選錯工具地上爬~ 經過地上爬了一番後,覺得 MySQL 似乎要解決高流量與多維度搜尋這件事還是很吃力,要來試試看別的作法。也就是本篇主角「Elasticsearch」! 使 …