今天的工作日記

買了新的兩台Linode主機,準備把資料庫移到其中一台上面當專屬資料庫,並且順便開始練習MySQL Replication的設定。

不過前幾天我發現phpMyAdmin其實已經內建了一個還不錯用的同步功能便想要嘗試,可是一開始只能夠允許選擇「本地端」或者「當前連線」兩種,我的主機是分開的沒辦法設定,上網找了一下發現要去修改 `config.inc.php`,加上這則設定:「$cfg[‘AllowArbitraryServer’] = true;」後即可。

但開始連線時又發現連線會失敗,看了iptables沒有設定任何防火牆規則而且3306是開的,後來檢查my.cnf發現bind-address寫127.0.0.1 … 嗯,這邊忘記打開就會變成讓MySQL Server只監聽127.0.0.1,反而外部網路都聽不到。

調整之後就通了,結果測試的時候又沒成功,只好連到Master的phpMyAdmin看一下,結果發現InnoDB死光光 … 解決方式是把ib_logfile*給刪除(ibdata別刪),然後重新啓動一般就可以搞定;如果搞不定的話可能是innodb_buffer_pool_size太高,往下修就可以了。

接著,因為我在資料庫機器上也要跑一台Memcached Server,而Memcached Server本身是沒有使用者驗證機制的,因此必須要用iptables或其他方式來限制連線,而Linode提供了API可以讓我自己開發Client去吃這個IP列表自己打入iptables,幸好這個API有Ruby版本可以用 …

詳情請看: https://gist.github.com/3426056

產生好iptables指令後剩下的就是去做其他事情了。

大致上是這樣。

About HeChien

I'm a Ruby and iPhone application developer.
This entry was posted in 工作記錄 and tagged , . Bookmark the permalink.

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s