PXC(Percona XtraDB Cluster)叢集的安裝
1規劃
node1192.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
[root@localhost ~]# rpm -Uhv
Retrieving
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!
到此搭建完畢:不管在哪個節點進行操作,所有的操作會複製到整個叢集!
補充:上面的方式搭建好麻煩還總是報錯,按照Mariadb Galar cluster搭建方式簡單容易
-
環境
-
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部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-1831964/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PXC(Percona XtraDB Cluster)的缺點介紹
- PXC(Percona-XtraDB-Cluster)5.7版本叢集安裝和使用初探
- Percona XtraDB Cluster 的一些使用限制(PXC 5.7)
- mysql之 Percona XtraDB Cluster叢集執行緒模型MySql執行緒模型
- 基於Docker搭建Percona XtraDB Cluster資料庫叢集Docker資料庫
- Percona XtraDB Cluster高可用與狀態快照傳輸(PXC 5.7 )
- MySQL高可用方案-PXC(Percona XtraDB Cluster)環境部署詳解MySql
- Percona XtraDB Cluster之流量控制
- docker-compose搭建percona-xtradb-cluster8.0Docker
- 丐版pxc叢集
- 基於Centos7部署Percona Xtradb Cluster高可用架構CentOS架構
- centos 6.9搭建pxc叢集CentOS
- MySQL叢集搭建方案(PXC)MySql
- Redis cluster 叢集Redis
- Redis Cluster(叢集)Redis
- node叢集(cluster)
- redis偽叢集配置Cluster叢集模式Redis模式
- Node js 叢集(cluster)JS
- 搭建redis cluster叢集Redis
- 安裝Kafka叢集Kafka
- 安裝Consul叢集
- redis 5.0 叢集的安裝Redis
- 從庫轉換成PXC叢集的節點
- Redis Cluster叢集模式部署Redis模式
- Redis for linux原始碼&叢集(cluster)&主從(master-slave)&哨兵(sentinel)安裝配置RedisLinux原始碼AST
- 完整安裝always on叢集
- 快速安裝 kafka 叢集Kafka
- Docker Redis 5.0 叢集(cluster)搭建DockerRedis
- 認識Redis叢集——Redis ClusterRedis
- 玩轉Redis叢集之ClusterRedis
- Redis Cluster叢集模式部署XRedis模式
- redis-3.0.6 安裝叢集Redis
- 安裝Zookeeper和Kafka叢集Kafka
- Zookeeper-3.4.10 叢集的安裝配置
- dubbo原始碼分析之叢集Cluster原始碼
- 【Redis叢集實戰】Redis Cluster 部署Redis
- Spring Boot整合Redis叢集(Cluster模式)Spring BootRedis模式
- 在wildfly 21中搭建cluster叢集
- Redis-cluster叢集搭建部署Redis