1规划
node1
192.168.6.119
node2
192.168.6.121
node3
192.168.6.122
2 安装(所有节点上都做)
-
设置selinux为disable
-
SELINUX=disabled
-
SELINUXTYPE=targeted
$ setenforce 0 立即生效
-
测试时可以关闭防火墙
-
生产环境需要打开端口:3306, 4444, 4567 and 4568
安装percona yum源
[root@localhost ~]# rpm -Uhv http://www.percona.com/downloads ... se-0.0-1.x86_64.rpm
Retrieving http://www.percona.com/downloads ... se-0.0-1.x86_64.rpm
Preparing... ########################################### [100%]
1:percona-release ########################################### [100%]
安装epel yum源
。。。。。。
安装percona包
[root@localhost ~]# rpm -aq | grep -i percona
Percona-XtraDB-Cluster-galera-3-3.12.2-1.rhel5
percona-xtrabackup-2.3.2-1.el5
Percona-XtraDB-Cluster-client-55-5.5.41-25.11.853.el5
Percona-XtraDB-Cluster-server-55-5.5.41-25.11.853.el5
Percona-Server-shared-compat-5.1.68-rel14.6.551.rhel5
percona-release-0.1-3
3 编辑参数文件
编辑第一个节点
-
[root@localhost ~]# more /etc/my.cnf
-
[mysqld]
-
-
# GENERAL
-
datadir=/var/lib/mysql
-
socket=/var/lib/mysql/mysql.sock
-
pid_file=/var/lib/mysql/mysql.pid
-
user=mysql
-
port=3306
-
default_storage_engine=InnoDB
-
character_set_server=utf8
-
log_bin=mysqlbin
-
# INNODB/XtraDB
-
innodb_buffer_pool_size=1610612736 ----这个地方要注意啊。在别的节点上不要注释掉,不然别的节点启动的时候一直报错
-
innodb_log_file_size=104857600
-
-
#PXC
-
wsrep_provider=/usr/lib64/libgalera_smm.so
-
wsrep_cluster_address=gcomm://192.168.6.119,192.168.6.121,192.168.6.121
-
binlog_format=ROW
-
innodb_autoinc_lock_mode=2
-
wsrep_node_address=192.168.6.119
-
wsrep_sst_receive_address=192.168.6.119 ---第二个,第三个节点一样的,只是这个ip分别换了
-
server_id=000119
-
wsrep_sst_method=xtrabackup-v2
-
wsrep_cluster_name=my_mysql_cluster
-
wsrep_sst_auth="sstuser:sstuser" ----集群用户
-
-
# LOGGING
-
log-error=/var/lib/mysql/mysql-error.log
-
slow_query_log=1
-
slow_query_log_file=/var/lib/mysql/mysql-slow.log
-
-
# OTHER
-
-
[client]
-
socket=/var/lib/mysql/mysql.sock
-
port=3306
-
# END
启动
[root@localhost ~]# /etc/init.d/mysql start --wsrep-cluster-address="gcomm://"
Starting MySQL (Percona XtraDB Cluster).. SUCCESS!
或者使用这种启动
[root@localhost ~]/etc/init.d/mysql bootstrap-pxc
mysql> show status like 'wsrep%'
-
mysql> show status like 'wsrep%';
-
+------------------------------+---------------------------------------+
-
| Variable_name | Value |
-
+------------------------------+---------------------------------------+
-
| wsrep_local_state_uuid | a36a6abc-8829-11e5-bd81-fa6fd7dadaec |
-
| wsrep_protocol_version | 7 |
-
| wsrep_last_committed | 38253 |
-
| wsrep_replicated | 38246 |
-
| wsrep_replicated_bytes | 16341882 |
-
| wsrep_repl_keys | 114381 |
-
| wsrep_repl_keys_bytes | 1794706 |
-
| wsrep_repl_data_bytes | 12099432 |
-
| wsrep_repl_other_bytes | 0 |
-
| wsrep_received | 400 |
-
| wsrep_received_bytes | 7131 |
-
| wsrep_local_commits | 37932 |
-
| wsrep_local_cert_failures | 104 |
-
| wsrep_local_replays | 0 |
-
| wsrep_local_send_queue | 0 |
-
| wsrep_local_send_queue_max | 228 |
-
| wsrep_local_send_queue_min | 0 |
-
| wsrep_local_send_queue_avg | 10.807747 |
-
| wsrep_local_recv_queue | 0 |
-
| wsrep_local_recv_queue_max | 2 |
-
| wsrep_local_recv_queue_min | 0 |
-
| wsrep_local_recv_queue_avg | 0.012500 |
-
| wsrep_local_cached_downto | 7 |
-
| wsrep_flow_control_paused_ns | 19690538000 |
-
| wsrep_flow_control_paused | 0.001397 |
-
| wsrep_flow_control_sent | 0 |
-
| wsrep_flow_control_recv | 524 |
-
| wsrep_cert_deps_distance | 7.398894 |
-
| wsrep_apply_oooe | 0.827072 |
-
| wsrep_apply_oool | 0.044831 |
-
| wsrep_apply_window | 141.161812 |
-
| wsrep_commit_oooe | 0.000000 |
-
| wsrep_commit_oool | 0.000000 |
-
| wsrep_commit_window | 140.036573 |
-
| wsrep_local_state | 4 |
-
| wsrep_local_state_comment | Synced |
-
| wsrep_cert_index_size | 13 |
-
| wsrep_cert_bucket_count | 210 |
-
| wsrep_gcache_pool_size | 17954373 |
-
| wsrep_causal_reads | 0 |
-
| wsrep_cert_interval | 145.261227 |
-
| wsrep_incoming_addresses | 192.168.6.119:3306,192.168.6.121:3306 |
-
| wsrep_evs_delayed | |
-
| wsrep_evs_evict_list | |
-
| wsrep_evs_repl_latency | 0/0/0/0/0 |
-
| wsrep_evs_state | OPERATIONAL |
-
| wsrep_gcomm_uuid | 0636fa24-8844-11e5-83bd-9bdf3f03c13f |
-
| wsrep_cluster_conf_id | 13 |
-
| wsrep_cluster_size | 2 |
-
| wsrep_cluster_state_uuid | a36a6abc-8829-11e5-bd81-fa6fd7dadaec |
-
| wsrep_cluster_status | Primary |
-
| wsrep_connected | ON |
-
| wsrep_local_bf_aborts | 0 |
-
| wsrep_local_index | 0 |
-
| wsrep_provider_name | Galera |
-
| wsrep_provider_vendor | Codership Oy <info@codership.com> |
-
| wsrep_provider_version | 3.12.2(rf3e626d) |
-
| wsrep_ready | ON |
-
| wsrep_thread_count | 2 |
-
+------------------------------+---------------------------------------+
-
59 rows in set (0.00 sec)
进入数据库为其他节点做准备工作
mysql> UPDATE mysql.user SET password=PASSWORD("Passw0rd") where user='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
#修改root用户密码(也可以不修改)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'sstuser';
Query OK, 0 rows affected (0.00 sec)
#增加用户sstuser
mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)
#赋予权限
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
第二个节点
编辑my.cnf配置文件
启动mysql:/etc/init.d/mysql start ---启动方式和上面有区别
Starting MySQL (Percona XtraDB Cluster)...SST in progress, setting sleep higher
.. SUCCESS!
d第三个节点
编辑my.cnf配置文件
启动mysql:/etc/init.d/mysql start ---启动方式和上面有区别
Starting MySQL (Percona XtraDB Cluster)...SST in progress, setting sleep higher
.. SUCCESS!
到此搭建完毕:不管在哪个节点进行操作,所有的操作会复制到整个集群!
-
环境
-
121
-
119
-
122
121:
-
[root@node4 mysql]# more /etc/my.cnf
-
[mysqld]
-
datadir=/var/lib/mysql
-
socket=/var/lib/mysql/mysql.sock
-
pid_file=/var/lib/mysql/mysql.pid
-
user=mysql
-
port=3306
-
character_set_server=utf8
-
log_bin=mysqlbin
-
innodb_buffer_pool_size=200M
-
innodb_log_file_size=50M
-
binlog_format=ROW
-
innodb_autoinc_lock_mode=2
-
server_id=000121
-
log-error=/var/lib/mysql/mysql-error.log
-
slow_query_log=1
-
slow_query_log_file=/var/lib/mysql/mysql-slow.log
-
-
-
-
wsrep_provider=/usr/lib64/libgalera_smm.so
-
wsrep_cluster_address="gcomm://"
-
wsrep_sst_auth="sstuser:sstuser"
-
wsrep_sst_method=rsync
-
-
-
[client]
-
socket=/var/lib/mysql/mysql.sock
-
port=3306
122:
-
[mysqld]
-
-
# GENERAL
-
datadir=/var/lib/mysql
-
socket=/var/lib/mysql/mysql.sock
-
pid_file=/var/lib/mysql/mysql.pid
-
user=mysql
-
port=3306
-
character_set_server=utf8
-
log_bin=mysqlbin
-
innodb_buffer_pool_size=200M
-
innodb_log_file_size=50M
-
binlog_format=ROW
-
innodb_autoinc_lock_mode=2
-
server_id=000121
-
log-error=/var/lib/mysql/mysql-error.log
-
slow_query_log=1
-
slow_query_log_file=/var/lib/mysql/mysql-slow.log
-
-
-
-
-
-
wsrep_provider=/usr/lib64/libgalera_smm.so
-
wsrep_cluster_address="gcomm://192.168.6.121:4567"
-
wsrep_sst_auth="sstuser:sstuser"
-
wsrep_sst_method=rsync
-
-
[client]
-
socket=/var/lib/mysql/mysql.sock
-
port=3306
119:
-
[mysqld]
-
-
# GENERAL
-
datadir=/var/lib/mysql
-
socket=/var/lib/mysql/mysql.sock
-
pid_file=/var/lib/mysql/mysql.pid
-
user=mysql
-
port=3306
-
character_set_server=utf8
-
log_bin=mysqlbin
-
innodb_buffer_pool_size=200M
-
innodb_log_file_size=50M
-
binlog_format=ROW
-
innodb_autoinc_lock_mode=2
-
server_id=000121
-
log-error=/var/lib/mysql/mysql-error.log
-
slow_query_log=1
-
slow_query_log_file=/var/lib/mysql/mysql-slow.log
-
-
-
-
-
-
wsrep_provider=/usr/lib64/libgalera_smm.so
-
wsrep_cluster_address="gcomm://192.168.6.122:4567"
-
wsrep_sst_auth="sstuser:sstuser"
-
wsrep_sst_method=rsync
-
-
[client]
-
socket=/var/lib/mysql/mysql.sock
-
port=3306
1.122关闭mysql,自动从集群中被踢出
[root@localhost ~]# /etc/init.d/mysql stop
mysql> show status like 'wsrep%';
+----------------------------+----------------------------------------------------------+
| Variable_name | Value |
+----------------------------+----------------------------------------------------------+
| wsrep_incoming_addresses | 192.168.6.119:3306,192.168.6.121:3306 |
2.模拟此时集群还有数据写入,如创建一个bvoid数据库
3.恢复122mysql,自动加入集群
mysql> show status like 'wsrep%';
+----------------------------+----------------------------------------------------------+
| Variable_name | Value |
+----------------------------+----------------------------------------------------------+
| wsrep_incoming_addresses | 192.168.6.119:3306,192.168.6.122:3306,192.168.6.121:3306 |
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| bvoid | 关闭阶段产生的数据也会自动同步到122上,是通过rsync的方式同步的!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29096438/viewspace-1831964/
,如需转载,请注明出处,否则将追究法律责任。