卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

MySql雙機熱備

一、heartbeat 的安裝和配置 集群并不是一個全新的概念,其實早在七十年代計算機廠商和研究機構(gòu)就開始了對集群系統(tǒng)的研究和開發(fā)。由于主要用于科學工程計算,所以這些系統(tǒng)并不為大家所熟知。直到Linu

一、heartbeat 的安裝和配置 集群并不是一個全新的概念,其實早在七十年代計算機廠商和研究機構(gòu)就開始

了對集群系統(tǒng)的研究和開發(fā)。由于主要用于科學工程計算,

所以這些系統(tǒng)并不為大家所熟知。直到Linux 集群的出現(xiàn),集群的概念才得以廣為傳播。集群系統(tǒng)主要分為高可用(High Av ailability) 集群, 簡稱 HA 集群。常見的就是2個節(jié)點做成的

HA 集群,有很多通俗的不科學的名稱,比如" 雙機熱備", " 雙機互備", " 雙機" 。 這樣做的好處是當服務(wù)啟動的時候,兩臺服務(wù)器一個作為主,另一個是從。測試機每幾秒會ping 主機,當發(fā)現(xiàn)主機沒有回應(yīng),就證明主機宕機了,那么從機馬上會啟動相應(yīng)的服務(wù),繼續(xù)進行服務(wù)。這樣就可以保證服務(wù)不間斷。

具體的拓撲圖如下:

1.1.1安裝網(wǎng)絡(luò)環(huán)境設(shè)定

分別設(shè)置兩臺服務(wù)器eth1、eth0的IP 地址,如:server1所示

,

更改計算機名稱

設(shè)置DNS 解析

1.1.2、安裝

1)先要檢查系統(tǒng)中是否有下面軟件開發(fā)包的支持,包括pkgconfig g lib2-devel e2fsprogs 和libnet

2) 我的系統(tǒng)中只缺少libnet ,安裝libnet ,這里使用的是1.1.2. 1版本

tar -zxvf libnet.tar .gz

cd libnet

./configure

make

make install

,

3) 安裝heartbeat

tar -zxvf heartbeat-2.0.7.tar .gz

cd heartbeat-2.0.7

./ConfigureMe configure

make

make install

4) 當安裝好heartbeat 后,系統(tǒng)會在/etc/下建立一個ha.d 的目錄,我們需要把一些文件拷到里面去。

cp /soft/heartbeat-2.0.7/doc/ha.cf /etc/ha.d

cp /soft/heartbeat-2.0.7/doc/haresources /etc/ha.d cp /soft/heartbeat-2.0.7/doc/authkeys /etc/ha.d

1.1.3配置主要文件的配置

vi /etc/ha.d/ha.cf

具體要把下面的選項前的注釋去掉

logfile /var/log/ha-log

logfacility local0

keepalive 2 每2秒鐘 測試機發(fā)送一個廣播 deadtime 30 30秒內(nèi)沒有反應(yīng),立即切換服務(wù) warntime 10

initdead 120

udpport 694

bcast eth1 指明心跳連接的接口號

,

ucast eth1 192.168.10.1 心跳連接的pc 的ip

auto_failback on

node

server1 兩個的主機名(最好用uname -n 察看) node server2

ping 192.168.0.1 測試機的ip (要寫外部的測試IP ) vi /etc/ha.d/haresources 這個主要是指明資源的來源,添加一條指定虛擬

IP

表示server2是主服務(wù)器,虛擬IP 地址

為192.168.0.10 ,IP 啟動虛擬服務(wù)器HTTPD 。

vi /etc/ha.d/authkeys 這個是安全方面的配置,里面有三種認證方式:crc md5 sha1

啟動sha1 認證,密碼為123456

啟動服務(wù)

二、MYSQL 數(shù)據(jù)庫同步

2.1.1Mysql 數(shù)據(jù)庫沒有增量備份的機制,當數(shù)據(jù)量太大的時候備份是一個很大的問題。還好Mysql 數(shù)據(jù)庫提供了一種主從備份的機制,其實就是把主數(shù)據(jù)庫的所有的數(shù)據(jù)同時寫到備份數(shù)據(jù)庫中。實現(xiàn)Mysql 數(shù)據(jù)庫的熱備份。要想實現(xiàn)雙機的熱備首先要了解主從數(shù)據(jù)庫服務(wù)器的版本的需求。要實現(xiàn)熱備Mysql 的版本都要高于3.2,還有一個基本的原則就是作為從數(shù)據(jù)庫的數(shù)據(jù)庫版本可以高于主服務(wù)器數(shù)據(jù)庫的版本,但是不可以低于主服務(wù)器的數(shù)據(jù)庫版本。首先查看主服務(wù)器的版本是否是支持熱備的版本。然后查看my.cnf(類unix) 或者my.ini(windows)中Mysqld 配置塊的配置有沒有l(wèi)og-bin(記錄數(shù)據(jù)庫更改日志) ,因為Mysql

,

的復(fù)制機制是基于日志的復(fù)制機制,所以主服務(wù)器一定要支持更改日志才行。然后設(shè)置要寫入日志的數(shù)據(jù)庫或者不要寫入日志的數(shù)據(jù)庫。這樣只有您感興趣的數(shù)據(jù)庫的更改才寫入到數(shù)據(jù)庫的日志中。

2.1.2安裝MYSQL 5.1.41

兩臺服務(wù)器(主從服務(wù)器)做同樣mysql 刪除和重新安裝的安裝過程

備份數(shù)據(jù)庫:mysqldump T_SIP >/home/T_SIP.sql

Mysqldump T_USER >/home/T_USER.sql

刪除舊數(shù)據(jù)庫:rm –rf /usr/local/mysql

Rm –rf /etc/rc.d/init.d/mysqld

安裝新數(shù)據(jù)庫: 安裝之前,先將my.snf 文件拷貝到/etc目錄下。使用的安裝命令為 rpm –vhi MySQL******。安裝完成之后確定mysql server能夠正常啟動。

cp my.cnf /etc/

rpm –vhi MySQL-server-community-5.1.41-0.rhe15.i386.rpm

rpm -vhi MySQL-client-community-5.1.39-0.rhel4.i386.rpm

rpm -vhi MySQL-devel-community-5.1.39-0.rhel4.i386.rpm

rpm -vhi MySQL-shared-community-5.1.39-0.rhel4.i386.rpm

安裝mysql 數(shù)據(jù)庫二進制日志記錄插件:此插件mysql5.1里面沒有,mysql5.0自帶。 tar -zxvf innodb_plugin-1.0.6-rhel5.i486

cp ha_innodb.so /usr/lib/mysql/plugin/

chmod 777 ha_innodb.so

chown –R root:root ha_innodb.so

導入boromax 數(shù)據(jù)庫:使用mysql 命令進入mysql 數(shù)據(jù)庫控制臺

use T_SIP;

source /home/www/db/T_SIP.sql;

use T_USER;

source /home/www/db/T_USER.sql;

在主服務(wù)器中建立從服務(wù)器訪問主服務(wù)器mysql 上的用戶:使用mysql 命令進入mysql 數(shù)據(jù)庫控制臺

grant replication slave on *.* to 'ccc'@'192.168.10.1' identified by '654321'; flush privileges;

2.1.3 數(shù)據(jù)庫備份設(shè)置

A 、配置主服務(wù)器my.cnf 文件:vi /etc/my.cnf 在[mysqld]塊添加

ignore_builtin_innodb

plugin_load=innodb=ha_innodb.so;innodb_trx=ha_innodb.so;innodb_locks=ha_innodb.so;innodb_lock_waits=ha_innodb.so;innodb_cmp=ha_innodb.so;innodb_cmp_reset=h

,

a_innodb.so;innodb_cmpmem=ha_innodb.so;innodb_cmpmem_reset=ha_innodb.so

指用二進制的形式記錄日志

server-id=1 服務(wù)器的ID

log-bin=mysql-bin 日志文件的名稱

binlog-do-db=T_SIP,T_USER 記錄日志的數(shù)據(jù)庫

binlog-ignore-db=mysql,test, information_schema 不記錄日志的數(shù)據(jù)庫

innodb_data_home_dir = /apps/mysql/lib/

innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend

innodb_log_group_home_dir = /apps/mysql/lib/

# You can set .._buffer_pool_size up to 50 - 80

# of RAM but beware of setting memory usage too high

innodb_buffer_pool_size = 128M

innodb_additional_mem_pool_size = 20M

# Set .._log_file_size to 25 of buffer pool size

innodb_log_file_size = 64M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50

B 、配置從服務(wù)器my.cnd 文件:vi /etc/my.cnf 在[mysqld]塊添加

ignore_builtin_innodb

plugin_load=innodb=ha_innodb.so;innodb_trx=ha_innodb.so;innodb_locks=ha_innodb.so;innodb_lock_waits=ha_innodb.so;innodb_cmp=ha_innodb.so;innodb_cmp_reset=ha_innodb.so;innodb_cmpmem=ha_innodb.so;innodb_cmpmem_reset=ha_innodb.so

指用二進制的形式記錄日志

Server-id=2 //設(shè)置數(shù)據(jù)庫id 默認主服務(wù)器是1可以隨便設(shè)置但是如果有多臺從服務(wù)器則不能重復(fù)。

Master-host=192.168.10.1 //主服務(wù)器的IP 地址或者域名

Master-port=3306 //主數(shù)據(jù)庫的端口號

Master-user=ccc //同步數(shù)據(jù)庫的用戶

Master-password=654321 //同步數(shù)據(jù)庫的密碼

master-connect-retry=60 //如果從服務(wù)器發(fā)現(xiàn)主服務(wù)器斷掉,重新連接的時間差 report-host=192.168.10.2 //報告錯誤的服務(wù)器

innodb_data_home_dir = /apps/mysql/lib/

innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend

innodb_log_group_home_dir = /apps/mysql/lib/

# You can set .._buffer_pool_size up to 50 - 80

# of RAM but beware of setting memory usage too high

innodb_buffer_pool_size = 128M

innodb_additional_mem_pool_size = 20M

# Set .._log_file_size to 25 of buffer pool size

innodb_log_file_size = 64M

innodb_log_buffer_size = 8M

,

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50

對/etc/my.cnf文件設(shè)置完成之后看mysql 服務(wù)是否可以啟動,如可以啟動那說明沒問題了,如果不能啟動說my.cnf 文件設(shè)置有問題。

C 、備份主服務(wù)器數(shù)據(jù)庫,導入到從服務(wù)器中 (主服務(wù)器操作以下命令)

備份之前先鎖定數(shù)據(jù)庫,使用mysql 命令進入mysql 數(shù)據(jù)庫控制臺

FLUSH TABLES WITH READ LOCK; 鎖定數(shù)據(jù)庫

unlock tables; 解除鎖定

show master status; 查看主服務(wù)器的二進制日志名稱和偏移量,如下圖:

日志名稱:mysql-bin.000001

偏移量:106

到這界面不用動了,另外打開一個窗口進行備份數(shù)據(jù)庫。

Cd /apps/mysql/lib 這是數(shù)據(jù)庫存儲目錄

Tar –zcvf 123.tgz ib* T_SIP T_USER

Scp 123.tgz

D 、設(shè)置從服務(wù)器的二進制日志和偏移量

覆蓋主服務(wù)器拷貝過來的數(shù)據(jù)庫和記錄文件

Cd /apps/mysql/lib

Tar –zxvf 123.tgz

使用mysql 命令進入mysql 數(shù)據(jù)庫控制臺:

slave stop; 停止slave 的服務(wù):

Change master to master_log_file='mysql-bin-000001',master_log_pos=106;

Slve stop; 啟動slave 服務(wù)

在主服務(wù)器查看狀態(tài)和信息

標簽: