2006/04/26

MySQL - 重新設定 Slave Replication Server 的資料

若 MySQL Replication 已運作若干時日,欲重新設定 Slave Server 上的資料,則可依照下列步驟進行:

~~~MySQL Master Replication Server 處理開始~~~
一、取消 Master 上的 log-bin 功能:編輯 my.cnf 檔。
二、重新啟動 Master 的 MySQL 伺服器:/usr/local/share/mysql.server restart
三、清除 binary log 檔:bin.index、bin.XXX。
三、停止 Master 的 MySQL 伺服器:/usr/local/share/mysql.server stop
四、將 Master 的 MySQL 資料全部壓縮起來。
五、壓縮完成後,設定開啟 Master 的 log-bin 功能:編輯 my.cnf 檔。
六、啟動 Master 的 MySQL 伺服器:/usr/local/share/mysql.server start
七、將壓縮檔傳送到 Slave 伺服器上,並解壓縮至暫存資料夾。
~~~MySQL Master Replication Server 處理步驟完成。~~~

~~~MySQL Slave Replication Server 處理開始~~~
八、停止 Slave 的 MySQL 伺服器:/usr/local/share/mysql.server stop
九、清除所有 replication 記錄檔,包含 master.info、replay-bin.index、replay-bin.XXX、relay-log.info。
十、將 Master 的 MySQL 資料庫複製到 Slave 的 MySQL 目錄下。
十一、啟動 Slave 的 MySQL 伺服器:/usr/local/share/mysql.server start
~~~MySQL Slave Replication Server 處理步驟完成~~~

2006/04/14

MySQL - 補上明細中的廠商編號

利用主檔的廠商編號,更新明細中沒有紀錄到廠商編號的資料:
UPDATE pos_item AS PI, book_main AS BK SET PI.suppid=BK.suppid WHERE PI.bookid=BK.id AND PI.suppid=0 AND BK.suppid<>0;
UPDATE pos_goods AS PI, goods_main AS BK SET PI.suppid=BK.suppid WHERE PI.goodsid=BK.id AND PI.suppid=0 AND BK.suppid<>0;