MySQL_MMM实现高可用性配置

一、软件包

a) perl-Proc-Daemon-0.03-1.el5.noarch.rpm

b) perl-DBI-1.52-1.fc6.i386.rpm

c) perl-Algorithm-Diff-1.1902-2.el5.noarch.rpm

d) DBD-mysql-4.018.tar.gz

e) mysql-master-master-1.2.6.tar.gz

f) mysql-5.0.27.tar.gz

二、安装步骤

a) Nod1 ip 59.64.30.118 vip 59.64.30.103(read)

b) Node2 ip 59.64.30.107 vip 59.64.30.102(read)

c) Vip 59.64.30.101(writer)

d) Mgr 59.64.28.92(管理节点)

e) 首先安装好MYSQL软件,配置好MYSQL主主同步。(可以正常主主同步数据)

f) Cd /var/local/software

g) rpm -ivh perl-Proc-Daemon-0.03-1.el5.noarch.rpm

h) rpm -ivh perl-DBI-1.52-1.fc6.i386.rpm

i) ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.15 /bin/libmysqlclient.so.15

j) ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.15 /usr/bin/libmysqlclient.so.15

k) ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.15 /usr/lib/libmysqlclient.so.15

l) ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.15 /usr/sbin/libmysqlclient.so.15

m) ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.15 /sbin/libmysqlclient.so.15

n) tar zxvf DBD-mysql-4.018.tar.gz

o) cd DBD-mysql-4.018

p) perl Makefile.PL --with-mysql=/usr/local/mysql --mysql_config=/usr/local/mysql/bin/mysql_config

q) make && make test && make install

r) cd ../

s) rpm -ivh perl-Algorithm-Diff-1.1902-2.el5.noarch.rpm

t) tar zxvf mysql-master-master-1.2.6.tar.gz

u) cd mysql-master-master-1.2.6

v) ./install.pl

w) Cd /usr/local/mmm/etc/examples/

x) cp mmm_agent.conf.example mmm_agent.conf

y) >mmm_agent.conf

#

# Master-Master Manager config (agent)

#

# Debug mode

debug no

# Paths

pid_path /usr/local/mmm/var/mmmd_agent.pid

bin_path /usr/local/mmm/bin

# Logging setup

log mydebug

file /usr/local/mmm/var/mmm-debug.log

level debug

log mytraps

file /usr/local/mmm/var/mmm-traps.log

level trap

# MMMD command socket tcp-port and ip

bind_port 9989

# Cluster interface

cluster_interface eth0

# Define current server id

this db1

mode master

# For masters

peer db2

# Cluster hosts addresses and access params

host db1

ip 59.64.30.118

port 3306

user rep_agent

password 123456

z) Mv mmm_agent.conf ../

aa) 同步方法安装mysql_mmm另一台服务器

bb) Vi /usr/local/mmm/etc/mmm_agent.conf

#

# Master-Master Manager config (agent)

#

# Debug mode

debug no

# Paths

pid_path /usr/local/mmm/var/mmmd_agent.pid

bin_path /usr/local/mmm/bin

# Logging setup

log mydebug

file /usr/local/mmm/var/mmm-debug.log

level debug

log mytraps

file /usr/local/mmm/var/mmm-traps.log

level trap

# MMMD command socket tcp-port and ip

bind_port 9989

# Cluster interface

cluster_interface eth0

# Define current server id

this db2

mode master

# For masters

peer db1

# Cluster hosts addresses and access params

host db1

ip 59.64.30.118

port 3306

user rep_agent

password 123456

a1) 两个节点服务器MYSQL同时增加如下用户。

GRANT ALL PRIVILEGES on *.* to 'rep_agent'@'%' identified by '123456' WITH GRANT OPTION;

GRANT ALL PRIVILEGES on *.* to 'rep_monitor'@'%' identified by '123456' WITH GRANT OPTION;

a2) 同步方法安装mysql_mmm管理节点

a3) vi /usr/local/mmm/etc/mmm_mon.conf

# Master-Master Manager config (monitor)

#

# Debug mode

debug no

# Paths

pid_path /usr/local/mmm/var/mmmd.pid

status_path /usr/local/mmm/var/mmmd.status

bin_path /usr/local/mmm/bin

# Logging setup

log mydebug

file /usr/local/mmm/var/mmm-debug.log

level debug

log mytraps

file /usr/local/mmm/var/mmm-traps.log

level trap

email root@localhost

# MMMD command socket tcp-port

bind_port 9988

agent_port 9989

monitor_ip 127.0.0.1

# Cluster interface

cluster_interface eth0

# Cluster hosts addresses and access params

host db1

ip 59.64.30.118

port 3306

user rep_monitor

password 123456

mode master

peer db2

host db2

ip 59.64.30.107

port 3306

user rep_monitor

password 123456

mode master

peer db1

#

# Define roles

#

active_master_role writer

# Mysql Reader role

role reader

mode balanced

servers db1, db2

ip 59.64.30.103,59.64.30.102 //这里是虚拟IP

# Mysql Writer role

role writer

mode exclusive

servers db1, db2

ip 59.64.30.101 //这里是虚拟IP

#

# Checks parameters

#

# Ping checker

check ping

check_period 1

trap_period 5

timeout 2

# Mysql checker

# (restarts after 10000 checks to prevent memory leaks)

check mysql

check_period 1

trap_period 2

timeout 2

restart_after 10000

# Mysql replication backlog checker

# (restarts after 10000 checks to prevent memory leaks)

check rep_backlog

check_period 5

trap_period 10

max_backlog 60

timeout 2

restart_after 10000

# Mysql replication threads checker

# (restarts after 10000 checks to prevent memory leaks)

check rep_threads

check_period 1

trap_period 5

timeout 2

restart_after 10000

a4) 启动node1 /usr/local/mmm/sbin/mmmd_agent

a5) 启动node2 /usr/local/mmm/sbin/mmmd_agent

a6) 启动mgr /usr/local/mmm/sbin/mmm_mon start

a7) 设置db1在线mmm_control set_online db1

a8) 设置db2在线mmm_control set_online db2

a9) 查看状态mmm_control show

MySQL Multi-Master Replication Manager

Version: 1.2.6

Config file: mmm_mon.conf

Daemon is running!

===============================

Cluster failover method: AUTO

===============================

Servers status:

db1(59.64.30.118): master/ONLINE. Roles: reader(59.64.30.103;), writer(59.64.30.101 //这里是虚拟IP;)

db2(59.64.30.107): master/ONLINE. Roles: reader(59.64.30.102 //这里是虚拟IP;)

三、附加

a) 因为主主同步我没在意,都是NO,所以在show过程中状态老报错,最后一直查到修复主主看看,show才正常。警告配置时首先一定要保证MYSQL主主同步是正常的。配置就不会有什么问题。

b) 安装过程中装perl包真麻烦。找了好多包。郁闷死。

你可能感兴趣的:(mysql,数据库,职场,休闲,mmm)