您的位置:首页 > 数据库 > MySQL

Mysql集群HA方案Galera的安装配置

2014-09-28 17:03 621 查看

Galera For Mysql

一软件包安装

#集群配置规划
192.168.1.11	node1	CentOS6
192.168.1.12	node2	Redhat6
192.158.1.13	node3	Redhat6

#清理Mysql环境

for i in `rpm -qa |grep -i mysql`; do
rpm -e --allmatches --nodeps ${i}
done
#安装依赖包
yum -y install libaio1 libdbi-perl libdbd-mysql-perl rsync openssl


#安装psmisc 
yum -y install psmisc


#安装mysql client
rpm -ivh MySQL-client-5.6.15-1.linux_glibc2.5.x86_64.rpm


#安装MySQL-shared-compat及除过server以外的包安装上

#devel:开发mysql客户端所需要的库;

#share:开发mysql客户端所需要的链接库

#shared-compat:兼容版本的开发mysql客户端所需要的链接库

#test:测试库
rpm -ivh MySQL-shared-compat-5.6.15-1.linux_glibc2.5.x86_64.rpm \
MySQL-devel-5.6.15-1.linux_glibc2.5.x86_64.rpm \
MySQL-shared-5.6.15-1.linux_glibc2.5.x86_64.rpm \
MySQL-test-5.6.15-1.linux_glibc2.5.x86_64.rpm


#安装包含wsrep-API的Mysql Server包
rpm -ivh MySQL-server-5.6.16_wsrep_25.5-1.rhel6.x86_64.rpm


#安装Galera Replicator包
rpm -ivh galera-25.3.5-1.rhel6.x86_64.rpm

二集群环境配置

#服务器配置

##iptables

##SElinux

#省略

#数据库配置

#创建数据库

mkdir -p /opt/dbdata/mysql_3307
chown -R mysql:mysql /opt/dbdata/mysql_3307
chmod -R 755 /opt/dbdata/mysql_3307
mysql_install_db --user=mysql --datadir=/opt/dbdata/mysql_3307


##node1 配置my.cnf

###############################################################################

[client]

port            = 3307

socket         = /opt/dbdata/mysql_3307/mysql.sock

[mysqld_multi]

mysqld  = /usr/bin/mysqld_safe

mysqladmin      = /usr/bin/mysqladmin

log             = /var/log/mysqld_multi.err

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

[myisamchk]

key_buffer_size = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

[mysqld]

port                    = 3307

socket                  = /opt/dbdata/mysql_3307/mysql.sock

key_buffer_size = 16M

max_allowed_packet      = 1M

table_open_cache        = 64

sort_buffer_size        = 512K

net_buffer_length       = 8K

read_buffer_size        = 256K

read_rnd_buffer_size    = 512K

myisam_sort_buffer_size = 8M

log-bin-trust-function-creators = 1

expire_logs_days        = 1

max_connections = 600

skip-external-locking

skip-name-resolve

datadir=/opt/dbdata/mysql_3307

character_set_server    = utf8

log-bin         = mysql-bin

max_allowed_packet=64M

# Mandatory Settings

server-id= 1

binlog_format=ROW

default_storage_engine=InnoDB

innodb_autoinc_lock_mode=2

# Optional mysqld Settings

#datadir=/path/to/datadir

#innodb_buffer_pool_size=28G

#innodb_log_file_size=100M

#innodb_file_per_table=1

#innodb_flush_log_at_trx_commit=0

# Basic wsrep Provider Settings

wsrep_provider=/usr/lib64/galera/libgalera_smm.so

#wsrep_provider_options="gcache.szie=32m;gcache.page_size=32m;"

##############################################
#if this is the node started firstly,use this option

wsrep_cluster_address=gcomm://

#nor,use this option

#wsrep_cluster_address=gcomm://192.168.1.111,192.168.1.2


##############################################

wsrep_cluster_name='demo_cluster'

wsrep_node_address='192.168.1.11'

wsrep_node_name='node1'

wsrep_sst_method=rsync

wsrep_sst_auth=root:root123

# Optional wsrep Provider Settings

#wsrep_node_incoming_address='192.168.1.158'

#wsrep_sst_donor='demo_node1'

#wsrep_slave_threads=16

# Optional Memory Settings

#gcs.recv_q_hard_limit=4G

#gcs.recv_q_soft_limit=2G

#gcs.max_throttle=0.25T

###############################################################################

#启动node1 --wsrep-new-cluster
mysqld_safe --wsrep-new-cluster &

show variables like 'wsrep_on';
DELETE FROM mysql.user WHERE user='';
GRANT ALL ON *.* TO 'root'@'192.168.%' IDENTIFIED BY 'root123';flush privileges;


##node2 配置my.cnf

###############################################################################

[client]

port            = 3307

socket         = /opt/dbdata/mysql_3307/mysql.sock

[mysqld_multi]

mysqld  = /usr/bin/mysqld_safe

mysqladmin      = /usr/bin/mysqladmin

log             = /var/log/mysqld_multi.err

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

[myisamchk]

key_buffer_size = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

[mysqld]

port                    = 3307

socket                  = /opt/dbdata/mysql_3307/mysql.sock

key_buffer_size = 16M

max_allowed_packet      = 1M

table_open_cache        = 64

sort_buffer_size        = 512K

net_buffer_length       = 8K

read_buffer_size        = 256K

read_rnd_buffer_size    = 512K

myisam_sort_buffer_size = 8M

log-bin-trust-function-creators = 1

expire_logs_days        = 1

max_connections = 600

skip-external-locking

skip-name-resolve

datadir=/opt/dbdata/mysql_3307

character_set_server    = utf8

log-bin         = mysql-bin

max_allowed_packet=64M

# Mandatory Settings

server-id= 1

binlog_format=ROW

default_storage_engine=InnoDB

innodb_autoinc_lock_mode=2

# Optional mysqld Settings

#datadir=/path/to/datadir

#innodb_buffer_pool_size=28G

#innodb_log_file_size=100M

#innodb_file_per_table=1

#innodb_flush_log_at_trx_commit=0

# Basic wsrep Provider Settings

wsrep_provider=/usr/lib64/galera/libgalera_smm.so

#wsrep_provider_options="gcache.szie=32m;gcache.page_size=32m;"
##############################################

#if this is the node started firstly,use this option

#wsrep_cluster_address=gcomm://

#nor,use this option

wsrep_cluster_address=gcomm://192.168.1.11

##############################################


wsrep_cluster_name='demo_cluster'

wsrep_node_address='192.168.1.12'

wsrep_node_name='node2'

wsrep_sst_method=rsync

wsrep_sst_auth=root:root123

# Optional wsrep Provider Settings

#wsrep_node_incoming_address='192.168.1.158'

#wsrep_sst_donor='demo_node1'

#wsrep_slave_threads=16

###############################################################################

#启动node2  这里不用加--wsrep-new-cluster
mysqld_safe  &
show variables like 'wsrep_on';
DELETE FROM mysql.user WHERE user='';
GRANT ALL ON *.* TO 'root'@'192.168.%' IDENTIFIED BY 'root123';flush privileges;
##node3 配置my.cnf

###############################################################################

[client]

port            = 3307

socket         = /opt/dbdata/mysql_3307/mysql.sock

[mysqld_multi]

mysqld  = /usr/bin/mysqld_safe

mysqladmin      = /usr/bin/mysqladmin

log             = /var/log/mysqld_multi.err

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

[myisamchk]

key_buffer_size = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

[mysqld]

port        
4000
           = 3307

socket                  = /opt/dbdata/mysql_3307/mysql.sock

key_buffer_size = 16M

max_allowed_packet      = 1M

table_open_cache        = 64

sort_buffer_size        = 512K

net_buffer_length       = 8K

read_buffer_size        = 256K

read_rnd_buffer_size    = 512K

myisam_sort_buffer_size = 8M

log-bin-trust-function-creators = 1

expire_logs_days        = 1

max_connections = 600

skip-external-locking

skip-name-resolve

datadir=/opt/dbdata/mysql_3307

character_set_server    = utf8

log-bin         = mysql-bin

max_allowed_packet=64M

# Mandatory Settings

server-id= 1

binlog_format=ROW

default_storage_engine=InnoDB

innodb_autoinc_lock_mode=2

# Optional mysqld Settings

#datadir=/path/to/datadir

#innodb_buffer_pool_size=28G

#innodb_log_file_size=100M

#innodb_file_per_table=1

#innodb_flush_log_at_trx_commit=0

# Basic wsrep Provider Settings

wsrep_provider=/usr/lib64/galera/libgalera_smm.so

#wsrep_provider_options="gcache.szie=32m;gcache.page_size=32m;"

##############################################

#if this is the node started firstly,use this option

#wsrep_cluster_address=gcomm://

#nor,use this option

wsrep_cluster_address=gcomm://192.168.1.11,192.168.1.12

##############################################

wsrep_cluster_name='demo_cluster'

wsrep_node_address='192.168.1.13'

wsrep_node_name='node3'

wsrep_sst_method=rsync

wsrep_sst_auth=root:root123

# Optional wsrep Provider Settings

#wsrep_node_incoming_address='192.168.1.158'

#wsrep_sst_donor='demo_node1'

#wsrep_slave_threads=16

###############################################################################

#启动node3  这里不用加--wsrep-new-cluster
mysqld_safe  &
show variables like 'wsrep_on';
DELETE FROM mysql.user WHERE user='';
GRANT ALL ON *.* TO 'root'@'192.168.%' IDENTIFIED BY 'root123';flush privileges;


#监控端口
netstat -plantu|grep mysqld

#集群启动完成了!

#在node1上查看

mysql> SHOW STATUS LIKE 'wsrep_cluster_size';

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

| Variable_name      | Value |

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

| wsrep_cluster_size | 3     |

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

1 row in set (0.00 sec)

mysql> SHOW STATUS LIKE 'wsrep_ready';

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

| Variable_name | Value |

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

| wsrep_ready   | ON    |

+---------------+-------+
1 row in set (0.00 sec)

#配置node1的wsrep_cluster_address

wsrep_cluster_address=gcomm://192.168.1.12,192.168.1.13
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: