一套程式配一個 mysql
會分佈在各自的主機上(linode)
只是想到一件事情
假設所有的 mysql 的某個資料表要新增一個欄位(或刪除、新增資料表⋯⋯等等)
這如果有一百台主機(一百套程式和 一百套mysql 各自運作)
不就要透過 phpmyadmin 登入一百次,新增一百次?
有沒有什麼方式可以解決這個問題?
很好奇這怎麼集中管理?!
請有經驗的高手指教,謝謝
這其實是要看你的情境處理
1.更新方式:
如果說mysql是屬於在各自機器內,由程式各自連結的情況下。
那就得從程式下手,程式中得要安排好版本及更新機制處理。
也就是說將要更新的sql碼寫到更新程式上。並用版本號來控管。
當程式在開始運行時就得要檢查是否有新的版本,有的話並下載新的版本更新檔。
再去運行更新檔內的sql碼來達到變更資料欄位的做用。
2.統一管理方式
如果是統一在同一個mysql中管理。且資料庫表都是一致的情況下。
可以利用一下mysql表中的information_schema來取得所有對應相關表的欄位分析判斷後。
然後再統一性的去生成更新欄位的語法出來。
其實100個變更真的沒有什麼。不需要去想的太難。同一區有同一區的做法。
不同區就只能用程式來幫你處理。
不過如果程式無法配合的情況下,那就只能請你一個一個去下命令了。
我是集中在日本區域,集中在同一區域的機房可以使用private ip,每台Linode針對private ip開3306,由一台CentOS走private路由下sql指令。