系統的數據庫需要實時備份,但是之前考慮的webservice備份數據的方法,對程序運行的效率有較大影響。查閱資料後發現,mysql可以設定主從服務器來達到數據備份的目的。數據備份的任務全部交給mysql服務器完成,對團購系統的程序運行影響較少,並且可以達到實時備份的效果。下面是mysql主從服務器設定的一些步驟(測試環境:主服務器是win2003,mysql版本 5.1.51;從服務器是win7, mysql版本是 5.1.51)。
1、 在主服務器上新增一個用於備份的用戶,全局權限設定為RELOAD, SUPER, REPLICATION SLAVE。將要備份的數據庫的全部權限分配給改用戶,並且該用戶可以遠程登錄主服務器。
2、 在主服務器的my.ini中的[mysqld]下面添加:
server-id=1 #主服務器id
log-bin=D:mysqllogmysql.log #備份
binlog-do-db=tg #備份數據庫
3、 重啟主服務器。
4、 設定從服務器,在從服務器的my.ini中的[mysqld]下面添加:
server-id=2 #必須與主服務器的id不一致
master-host=***.***.***.*** #主服務器ip
log-bin=D:mysqllogmysql.log
master-user=slave #主服務器上新增的用戶名
master-password=123 #密碼
master-port=3306 #主服務器端口
master-connect-retry=60 #同步時間間隔為60秒
5、 重啟從服務器mysql。在主服務器mysql上運行SHOW MASTER STATUS 記錄下File、Position字段值。啟動從服務器mysql,運行一下命令:
change master to master_host=***.***.***.*** ;
change master to master_user= ‘slave’;
change master to master_password=123;
change master to master_log_file=mysql.000001 # 剛剛記錄的File值
change master to master_log_pos=38392;#剛剛記錄的position值,
然後運行 start slave;show slave status如果成功的話,可以返回一條與主服務器有關的數據,
這是回到主服務器上運行 show processlist 就可以查看到從服務器的連接狀態。到此主從服務器的設定完成