MYSQL 雙機熱備配置手冊
作者:CU-squall
發(fā)表于:2005年4月18日 8:21 可以不經作者同意自由傳播,請注明作者出處。
使用的軟體:①mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz,
一、安裝MYSQL
# cp mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz /usr/local/
# tar zxvf mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz
# mv mysql-standard-4.1.9-pc-linux-gnu-i686 mysql
# cd mysql
# more INSTALL-BINARY
[img:12a30a2145]http://bbs.chinaunix.net/forum/uploadfile/1_18901113784342.jpg[/img:12a30a2145]
查看安裝文檔,注意以紅色框內為主。
# groupadd mysql (建立mysql組)
# useradd -g mysql mysql (建立mysql用戶并將其用戶加入該組)
# scripts/mysql_install_db --user=mysql (以mysql用戶身份執(zhí)行數據庫初始化安裝腳本)
# chown -R root . (歸屬root權限為當前目錄)
# chown -R mysql data (歸屬mysql權限為data目錄)
# chgrp -R mysql . (改變mysql檔案/目錄的使用者與群組擁有人為當前目錄)
# bin/mysqld_safe --user=mysql & (以mysql用戶身份后臺啟動mysql數據庫進程)
之后我們就可以啟動mysql數據庫,如圖:
[img:12a30a2145]http://bbs.chinaunix.net/forum/uploadfile/2_77231113784381.jpg[/img:12a30a2145]
顯示為上述圖,表示安裝正確。
為了使數據庫更加安全,我們來設置數據庫密碼。
/usr/local/mysql/bin/mysqladmin -uroot password 123456
如在下次啟動服務器時能自動啟動mysql數據庫進程,我們還需寫入/etc/rc.d/rc.local文件里
echo “/usr/local/mysql/bin/mysqld_safe --user=mysql &” >> /etc/rc.d/rc.local
二、配置MYSQL雙機熱備
傳統(tǒng)模式都是采用mysql雙機互備,至于雙機熱備我搜索了大量的精華帖子都沒有發(fā)現安裝配置文檔。故我的一個想法產生了:當建立新的數據庫時,默認會建立到/usr/local/mysql/data這里,如果能改掉默認配置文件my.conf,建立數據庫能指定在一個目錄上,如我建立在盤柜上,這樣就能實現雙機熱備功能。
最起初困惑我的是如何更改配置文件my.conf,我咨詢了很多朋友,但都沒能成功。后聽yddll朋友一席言,“把陣列的文件系統(tǒng)掛在/usr/local/mysql/data下”,頓時茅塞頓開,使我如撥云霧而見青天。原理都清楚了,下面開始實施。
# fdisk /dev/sdb
# reboot
# mkfs.ext3 /dev/sdb1(把陣列格式成ext3格式)
# 我們首先把/usr/local/mysql/data/目錄下的所有文件拷貝到另一個目錄,我這里自創(chuàng)建了一個。
# mkdir –p /bak/mysql_data
# cd /usr/local/mysql/data/
# cp –a * /bak/mysql_data
# 之后我們要把/dev/sdb1掛載進去。
# mount /dev/sdb1 /usr/local/mysql/data/
# 注:這時你啟動mysql進程,它會抱錯,因為此/usr/local/mysql/data/為空,故我們要把剛才備份的文件和目錄拷回原處。
# cd /bak/mysql_data
# cp –a * /usr/local/mysql/data/
# 現在就可以啟動mysql數據庫了,但當建立數據庫時,會提示錯誤。在這里又困惑了不少時間。最終想起目錄屬性還沒有更改。
# 先停下數據庫,執(zhí)行命令/usr/local/mysql/bin/mysqladmin –uroot –p123456 shutdown
# cd /usr/local/mysql/
# chown -R mysql data(這樣就可以了)
# 我們再次啟動mysql數據庫進程,/usr/local/mysql/bin/mysqld_safe --user=mysql &
# 這時你再建立數據庫,create database squall;
# 回車后就會提示成功,輔機也要把/dev/sdb1掛載進去,show databases就可以看見在主機建立的squall數據庫。




