熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> MySQL >> 正文

MySQL雙機熱備份試驗

2013-11-23 20:55:53  來源: MySQL 

  在linux服務器lvs負載均衡雙機熱備應用中經常用到mysql雙機熱備安裝和配置過程如下

   安裝MYSQL

  # cp mysqlstandardpclinuxgnuitargz /usr/local/

  # tar zxvf mysqlstandardpclinuxgnuitargz

  # mv mysqlstandardpclinuxgnui mysql

  # cd mysql

  # more INSTALLBINARY

  

  查看安裝文檔注意以紅色框內為主

  # groupadd mysql (建立mysql組)

  # useradd g mysql mysql (建立mysql用戶並將其用戶加入該組)

  # scripts/mysql_install_db user=mysql (以mysql用戶身份執行數據庫初始化安裝腳本)

  # chown R root (歸屬root權限為當前目錄)

  # chown R mysql data (歸屬mysql權限為data目錄)

  # chgrp R mysql (改變mysql檔案/目錄的使用者與群組擁有人為當前目錄)

  # bin/mysqld_safe user=mysql & (以mysql用戶身份後台啟動mysql數據庫進程)

  之後我們就可以啟動mysql數據庫如圖

  

  顯示為上述圖表示安裝正確

  為了使數據庫更加安全我們來設置數據庫密碼

  如在下次啟動服務器時能自動啟動mysql數據庫進程我們還需寫入/etc/rcd/rclocal文件裡

  echo /usr/local/mysql/bin/mysqld_safe user=mysql & >;>; /etc/rcd/rclocal


   配置MYSQL雙機熱備

  傳統模式都是采用mysql雙機互備至於雙機熱備我搜索了大量的精華帖子都沒有發現安裝配置文檔故我的一個想法產生了當建立新的數據庫時默認會建立到/usr/local/mysql/data這裡如果能改掉默認配置文件nf建立數據庫能指定在一個目錄上如我建立在盤櫃上這樣就能實現雙機熱備功能

  最起初困惑我的是如何更改配置文件nf我咨詢了很多朋友但都沒能成功後聽yddll朋友一席言把陣列的文件系統掛在/usr/local/mysql/data下頓時茅塞頓開使我如撥雲霧而見青天原理都清楚了下面開始實施

  # fdisk /dev/sdb

  # reboot

  # mkfsext /dev/sdb(把陣列格式成ext格式)

  # 我們首先把/usr/local/mysql/data/目錄下的所有文件拷貝到另一個目錄我這裡自創建了一個

  # mkdir –p /bak/mysql_data

  # cd /usr/local/mysql/data/

  # cp –a * /bak/mysql_data

  # 之後我們要把/dev/sdb掛載進去

  # mount /dev/sdb /usr/local/mysql/data/

  # 注這時你啟動mysql進程它會抱錯因為此/usr/local/mysql/data/為空故我們要把剛才備份的文件和目錄拷回原處

  # cd /bak/mysql_data

  # cp –a * /usr/local/mysql/data/

  # 現在就可以啟動mysql數據庫了但當建立數據庫時會提示錯誤在這裡又困惑了不少時間最終想起目錄屬性還沒有更改

  # 先停下數據庫執行命令/usr/local/mysql/bin/mysqladmin –uroot –p shutdown

  # cd /usr/local/mysql/

  # chown R mysql data(這樣就可以了)

  # 我們再次啟動mysql數據庫進程/usr/local/mysql/bin/mysqld_safe user=mysql &

  # 這時你再建立數據庫create database squall;

  # 回車後就會提示成功輔機也要把/dev/sdb掛載進去show databases就可以看見在主機建立的squall數據庫


From:http://tw.wingwit.com/Article/program/MySQL/201311/29318.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.