• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      搭建主從庫實現(xiàn)Mysql數(shù)據(jù)庫平臺的數(shù)據(jù)備份

      2011-08-15 00:52:53
      科技傳播 2011年19期
      關(guān)鍵詞:主從腳本備份

      王 銳

      中國鐵通錦州分公司營收中心,遼寧錦州 121000

      我們構(gòu)建的游戲平臺游戲數(shù)據(jù)庫使用的是Mysql數(shù)據(jù)庫,每天數(shù)據(jù)吞吐量巨大。系統(tǒng)的不穩(wěn)定、黑客攻擊及其他未知不定因素都可能對游戲數(shù)據(jù)造成毀滅性的破壞。因此我們決定再建一個與在用服務(wù)器同配置的服務(wù)器系統(tǒng)來完成數(shù)據(jù)的備份及同步。同時,我們還配置了對整個Mysql數(shù)據(jù)庫定期進(jìn)行備份,起到了雙保險的作用。這樣,一旦發(fā)生數(shù)據(jù)丟失,能在最短時間內(nèi)恢復(fù)網(wǎng)站運行,使損失降到最低。下面就具體介紹一下我們的搭建過程。

      主從數(shù)據(jù)庫服務(wù)器的網(wǎng)絡(luò)拓?fù)淝闆r如圖1 。

      1 系統(tǒng)要求

      1)服務(wù)器配置

      游戲數(shù)據(jù)庫主服務(wù)器:至強3.0 雙處理器 內(nèi)存8G RAID10;游戲數(shù)據(jù)庫從服務(wù)器:至強3.0 雙處理器 內(nèi)存8G RAID10。2)軟件環(huán)境

      運行操作系統(tǒng):Ubuntu 7.10;

      數(shù)據(jù)庫管理系統(tǒng):Mysql 5.0。

      2 實施主從庫備份操作

      Mysql主服務(wù)器可以通過發(fā)送操作日志給從服務(wù)器的方式,讓兩臺數(shù)據(jù)庫機器保持同步更新,當(dāng)主服務(wù)器出現(xiàn)故障時,可以將從服務(wù)器升級為主服務(wù)器,提高服務(wù)的可靠性,但因為操作數(shù)據(jù)量較大,必須保證主服務(wù)器和從服務(wù)器之間的流量足夠(如在同一個局域網(wǎng)內(nèi)),可以從全新服務(wù)器安裝主從服務(wù)器,也可以在主服務(wù)器運行一段時間后再添加從服務(wù)器,這里主服務(wù)器已經(jīng)配置完成,并運行過一段時間。

      1)添加從服務(wù)器:首先安裝并配置好從Mysql服務(wù)器, 配置兩臺Mysql的server-id不同,如主Mysql server-id=1,從服務(wù)器Mysql server-id=2;

      2)理論上可以進(jìn)行熱操作,但為了提高速度和可靠性,只進(jìn)行了停機操作。

      首先關(guān)掉所有訪問數(shù)據(jù)庫的客戶程序,并用以下命令重啟mysql

      $sudo /etc/init.d/mysql restart;

      3)重啟進(jìn)入mysql服務(wù)器,并記下當(dāng)前日志的文件名和位置

      $mysql -uroot

      mysql > SHOW MASTER STATUS;

      +---------------+----------+--------------+------------------+

      | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

      +---------------+----------+--------------+------------------+

      | mysql-bin.003 | 73 | test | manual,mysql |

      +---------------+----------+--------------+------------------+

      記下上圖的文件名:mysql-bin.003 和位置73,這個過程確保沒有其它程序在操作數(shù)據(jù)庫;

      4)關(guān)閉mysql, 并打包數(shù)據(jù)庫文件

      $sudo /etc/init.d/mysql stop

      $sudo tar czvf ~/mysqlbak.tar.gz /var/lib/mysql/.

      $sudo /etc/init.d/mysql start

      5)登錄從服務(wù)器,下載打包的文件,并解壓到相應(yīng)位置

      $sftp wolf@192.168.0.212

      $get mysqlbak.tar.gz

      $sudo tar zxvf mysqlbak.tar.gz /var/lib/mysql/.

      6)進(jìn)入查看文件屬性

      $cd /var/lib/mysql

      $ls-al

      7)更改相應(yīng)的屬性

      $ sudo chown mysql /var/lib/mysql/*

      $sudo chgrp mysql /var/lib/mysql/*

      8)啟動從mysql服務(wù)器,并設(shè)置復(fù)制

      $sudo /etc/init.d/mysql restart

      $mysql-uroot

      mysql> CHANGE MASTER TO

      -> MASTER_HOST='master_host_name',

      -> MASTER_USER='replication_user_name',

      -> MASTER_PASSWORD='replication_password',

      -> MASTER_LOG_FILE='recorded_log_file_name',

      -> MASTER_LOG_POS=recorded_log_position;

      9)啟動從服務(wù)器線程

      mysql> START SLAVE;

      10)到這一步從服務(wù)器就已經(jīng)配置完成了。改變主服務(wù)器上的數(shù)據(jù),觀察從服務(wù)器數(shù)據(jù)已經(jīng)對應(yīng)被更新,可以確認(rèn)主從服務(wù)器安裝成功。

      3 創(chuàng)建更改全庫備份工作

      盡管我們已經(jīng)配置了主從服務(wù)器,數(shù)據(jù)庫的安全性大大提高,但對于人為的誤操作造成的數(shù)據(jù)丟失卻還是無能為力,因為你的所有操作都被完整復(fù)制到從服務(wù)器,所以我們還是需要定時做全庫備份。

      備份數(shù)據(jù)庫服務(wù)器 IP:192.168.0.3

      1)創(chuàng)建全庫備份工作腳本

      $nano automysqldump.sh

      在打開的編輯器中輸入以下內(nèi)容,并退出保存(注意替換以下mysql登錄信息)

      #!/bin/bash

      HOST=192.168.1.1 # mysql IP

      USER=root # mysql username

      PASSWORD=123 # mysql password

      BAKDIR=/home/huayu/backup/sqlbak # default

      DATESTR=`date +%F-%H%M%S `

      if [[ -d $BAKDIR ]]

      then

      echo "passthis"

      else

      mkdir $BAKDIR

      fi

      mysqldump -h $HOST -u $USER -p$PASSWORD --alldatabases > $BAKDIR/$DATESTR.sql

      tar zcvf $BAKDIR/$DATESTR.tar.gz $BAKDIR/$DATESTR.sql

      rm -rf $BAKDIR/$DATESTR.sql

      2)給腳本配置執(zhí)行屬性

      $chmod u+x automysqldump.sh

      3)將備份腳本配置成系統(tǒng)周期任務(wù)

      $sudo nano /etc/crontab

      以打開的編輯器中輸入以下內(nèi)容,注意腳本實際存放位置

      0 3 * * * root /home/huayu/automysqldump.sh

      退出保存后運行

      $sudo /etc/init.d/cron restart

      使配置生效。系統(tǒng)將會在每天凌晨3點準(zhǔn)時執(zhí)行automysqldump.sh腳本,對整個mysql數(shù)據(jù)庫進(jìn)行備份

      4 結(jié)論

      未搭建主/從數(shù)據(jù)庫服務(wù)器前對整個Mysql數(shù)據(jù)庫的備份是每隔一個小時進(jìn)行備份一次,在備份期間數(shù)據(jù)庫服務(wù)器無法處理更新,導(dǎo)致玩家無法登陸游戲或訪問游戲慢。通過主從數(shù)據(jù)庫服務(wù)器的搭建,我們的備份通過使用從數(shù)據(jù)庫服務(wù)器來執(zhí)行,解決了數(shù)據(jù)備份期間玩家無法登陸游戲問題。

      通過這次主/從庫服務(wù)器的搭建也增加了游戲數(shù)據(jù)庫的健壯性,使從數(shù)據(jù)庫服務(wù)器能夠與主數(shù)據(jù)庫服務(wù)器保持?jǐn)?shù)據(jù)同步,主數(shù)據(jù)庫服務(wù)器出現(xiàn)問題時,可以切換到從數(shù)據(jù)庫服務(wù)器成為主數(shù)據(jù)庫服務(wù)器投入使用,避免了長時間的服務(wù)中斷。另一個好處是可以使用從數(shù)據(jù)庫服務(wù)器執(zhí)行備份,而不會干擾主數(shù)據(jù)庫服務(wù)器。在備份過程中,主數(shù)據(jù)庫服務(wù)器可以繼續(xù)處理更新。

      [1]Leon.atkinson.Mysql核心編程[M].北京:清華大學(xué)出版社,2005,10.

      [2]Beneorta.Mysql必知必會[M].北京:人民郵電出版社,2008,12.

      [3]唐漢明.Mysql數(shù)據(jù)庫開發(fā)優(yōu)化與管理維護[M].北京:人民郵電出版社,2008,4.

      猜你喜歡
      主從腳本備份
      “備份”25年:鄧清明圓夢
      酒駕
      安奇奇與小cool 龍(第二回)
      數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
      電子測試(2018年14期)2018-09-26 06:04:24
      FANUC系統(tǒng)PROFIBUS主從功能應(yīng)用
      快樂假期
      基于主從控制的微電網(wǎng)平滑切換控制策略研究
      基于飛行試驗數(shù)據(jù)的仿真模型主從一體化檢驗
      淺析數(shù)據(jù)的備份策略
      科技視界(2015年6期)2015-08-15 00:54:11
      基于FPGA的機床數(shù)控系統(tǒng)主從控制器通信研究
      宁远县| 东宁县| 南川市| 秦皇岛市| 瓦房店市| 邹城市| 内丘县| 丽江市| 浦江县| 合山市| 榆社县| 柯坪县| 宁德市| 宜丰县| 蓝山县| 湖南省| 神农架林区| 贵州省| 亳州市| 洮南市| 宜章县| 普兰县| 台州市| 枣强县| 齐齐哈尔市| 嵩明县| 三门县| 仙居县| 沁阳市| 那坡县| 林州市| 郸城县| 漳浦县| 永福县| 大渡口区| 江都市| 延津县| 繁昌县| 伊宁市| 平遥县| 内黄县|