Mysql

如何與隱形主人建立主從連接?

  • February 23, 2021

我知道,這個問題一開始可能聽起來很奇怪,但讓我解釋一些事情,我相信你會理解我的問題:

我有一個樹莓派,它記錄了家裡氣象站的所有數據。所有這些數據都儲存在MariaDB 數據庫中。它每分鐘更新一次。從外面看不到樹莓派。

現在我想將此數據庫複製到我的網路伺服器。它不必完全同步,延遲 1-5 分鐘就可以了(如果沒有更好的解決方案)。

*我的問題是主伺服器是客戶端,從伺服器是伺服器。*我不能(也不想)讓客戶從外部可見。我的問題有什麼解決辦法嗎?

我創建了以下圖像來視覺化我的想法:

我的點子

PI 有一個 MariaDB(或 MySQL)Primary(又名“Master”),對嗎?而且您正在考慮在“公共網路”中擁有一個副本。

如前所述,副本從主節點“拉”,由於網路設置,這並不容易。但如果你在 Linux 上,這是可能的——讓 PI 設置一個“ssh 隧道”。

你暗示連接不穩定?PI 必須能夠注意到故障並在必要時重新建立連接。

另一種方法避免了多個問題——跳過複製概念。畢竟,除了保存要傳輸到真實數據庫的數據之外,您在 PI 上還有什麼用處。

PI 向“公共”網路伺服器發送 HTTP 請求應該不是問題。將一分鐘的讀數儲存在數據庫中將是少量的 PHP(或其他)程式碼。(一個請求/分鐘是微不足道的;沒問題。)

延遲1-5分鐘?我在任何計劃中都沒有看到這種情況。即使是這樣,也只會失去數據。類似天氣的數據(可能包括游泳池深度)的變化速度不足以保證每分鐘一個數據。

關於另一個話題——看看最終會有多少數據。一年內將有 0.5M 的溫度。嘗試將那麼多內容髮送到圖形程序;它可能會窒息。我建議您匯總數據,無論是在數據輸入時,還是在每小時的基礎上——最小、最大、最後。對於平均值,保持總和併計數;然後將平均值計算為總和/計數總和。

引用自:https://serverfault.com/questions/1054569