溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PXC的集群安裝是怎樣的

發(fā)布時間:2021-11-16 16:04:57 來源:億速云 閱讀:176 作者:柒染 欄目:MySQL數(shù)據(jù)庫

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)PXC的集群安裝是怎樣的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Percona XtraDB Cluster簡介

Percona XtraDB Cluster是MySQL高可用性和可擴(kuò)展性的解決方案,Percona XtraDB Cluster完全兼容MySQL和Percona Server。
Percona XtraDB Cluster提供的特性有:

  • 同步復(fù)制,事務(wù)要么在所有節(jié)點提交或不提交。

  • 多主復(fù)制,可以在任意節(jié)點進(jìn)行寫操作。

  • 在從服務(wù)器上并行應(yīng)用事件,真正意義上的并行復(fù)制。

  • 節(jié)點自動配置。

  • 數(shù)據(jù)一致性,不再是異步復(fù)制。

pxc優(yōu)點:

  • 當(dāng)執(zhí)行一個查詢時,在本地節(jié)點上執(zhí)行。因為所有數(shù)據(jù)都在本地,無需遠(yuǎn)程訪問。

  • 無需集中管理??梢栽谌魏螘r間點失去任何節(jié)點,但是集群將照常工作。

  • 良好的讀負(fù)載擴(kuò)展,任意節(jié)點都可以查詢。

pxc缺點:

  • 加入新節(jié)點,開銷大。需要復(fù)制完整的數(shù)據(jù)。

  • 不能有效的解決寫縮放問題,所有的寫操作都將發(fā)生在所有節(jié)點上。

  • 有多少個節(jié)點就有多少重復(fù)的數(shù)據(jù)。

Percona XtraDB Cluster局限性

  • 目前的復(fù)制僅僅支持InnoDB存儲引擎。任何寫入其他引擎的表,包括mysql.*表將不會復(fù)制。但是DDL語句會被復(fù)制的,因此創(chuàng)建用戶將會被復(fù)制,但是insert into mysql.user…將不會被復(fù)制的。

  • DELETE操作不支持沒有主鍵的表。沒有主鍵的表在不同的節(jié)點順序?qū)⒉煌绻麍?zhí)行SELECT…LIMIT… 將出現(xiàn)不同的結(jié)果集。

  • 在多主環(huán)境下LOCK/UNLOCK TABLES不支持。以及鎖函數(shù)GET_LOCK(), RELEASE_LOCK()…

  • 查詢?nèi)罩静荒鼙4嬖诒碇小H绻_啟查詢?nèi)罩?,只能保存到文件中?/p>

  • 允許最大的事務(wù)大小由wsrep_max_ws_rows和wsrep_max_ws_size定義。任何大型操作將被拒絕。如大型的LOAD DATA操作。

  • 由于集群是樂觀的并發(fā)控制,事務(wù)commit可能在該階段中止。如果有兩個事務(wù)向在集群中不同的節(jié)點向同一行寫入并提交,失敗的節(jié)點將中止。對于集群級別的中止,集群返回死鎖錯誤代碼(Error: 1213 SQLSTATE: 40001 (ER_LOCK_DEADLOCK)).

  • XA事務(wù)不支持,由于在提交上可能回滾。

  • 整個集群的寫入吞吐量是由最弱的節(jié)點限制,如果有一個節(jié)點變得緩慢,那么整個集群將是緩慢的。為了穩(wěn)定的高性能要求,所有的節(jié)點應(yīng)使用統(tǒng)一的硬件。

  • 集群節(jié)點建議最少3個。

  • 如果DDL語句有問題將破壞集群。

安裝Percona XtraDB 集群

shell> tar zxvf Percona-XtraDB-Cluster-5.6.22-72.0.tar.gzshell> cd Percona-XtraDB-Cluster-5.6.22-72.0安裝依賴包shell> yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool ncurses5-develshell> BUILD/compile-pentium64默認(rèn)安裝路徑/usr/local/mysql/shell> make && make installshell> rpm -ivh Percona-XtraDB-Cluster-galera-3-3.14-1.rhel6.x86_64.rpm創(chuàng)建數(shù)據(jù)文件目錄shell> mkdir -p /data/pxcshell> mv /usr/local/mysql/ /opt/pxcshell> chown -R mysql.mysql /opt/pxcshell> chown -R mysql.mysql /data/pxc

配置節(jié)點node1:

shell> more /opt/pxc/my.cnf[mysqld]socket=/tmp/mysql-node1.sockport=3307datadir=/data/pxcuser=mysqlbinlog_format=ROWdefault-storage-engine=innodbinnodb_autoinc_lock_mode=2innodb_locks_unsafe_for_binlog=1query_cache_size=0query_cache_type=0bind-address=0.0.0.0wsrep_provider=/usr/lib64/libgalera_smm.sowsrep_cluster_address=gcomm://10.106.58.211,10.106.58.212,10.106.58.213wsrep_cluster_name=my_wsrep_clusterwsrep_slave_threads=1wsrep_certify_nonPK=1wsrep_max_ws_rows=131072wsrep_max_ws_size=1073741824wsrep_debug=1wsrep_convert_LOCK_to_trx=0wsrep_retry_autocommit=1wsrep_auto_increment_control=1wsrep_causal_reads=0#wsrep_notify_cmd=# SST method#wsrep_sst_method=xtrabackup-v2wsrep_sst_method=rsync# Authentication for SST method#wsrep_sst_auth="sstuser:s3cret"# Node #1 addresswsrep_node_address=10.106.58.211server-id  = 1

啟動node1:

shell> /opt/pxc/scripts/mysql_install_db --basedir=/opt/pxc/ --datadir=/data/pxc/ \--user=mysql --defaults-file=/opt/pxc/my.cnfshell> /opt/pxc/bin/mysqld_safe --defaults-file=/opt/pxc/my.cnf --wsrep-new-cluster &shell> /opt/pxc/bin/mysql -u root -S /tmp/mysql-node1.sockmysql> delete from mysql.user where user = '';mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO sstuser@'localhost' identified by 's3cret';mysql> flush privileges;

配置啟動節(jié)點node2、node3:

node2、node3配置啟動同理。

[mysqld]socket=/tmp/mysql-node1.sockwsrep_node_address=10.106.58.212server-id  = 2shell> /opt/pxc/bin/mysqld_safe --defaults-file=/opt/pxc/my.cnf &

檢查pxc狀態(tài)

mysql> show status like 'wsrep%';+------------------------------+----------------------------------------------------------+| Variable_name                | Value                                                    |+------------------------------+----------------------------------------------------------+| wsrep_local_state_uuid       | 17b9d472-5ace-11e5-b22f-ab14cb9dcc7b                     || wsrep_protocol_version       | 7                                                        || wsrep_last_committed         | 7                                                        || wsrep_replicated             | 0                                                        || wsrep_replicated_bytes       | 0                                                        || wsrep_repl_keys              | 0                                                        || wsrep_repl_keys_bytes        | 0                                                        || wsrep_repl_data_bytes        | 0                                                        || wsrep_repl_other_bytes       | 0                                                        || wsrep_received               | 3                                                        || wsrep_received_bytes         | 311                                                      || wsrep_local_commits          | 0                                                        || wsrep_local_cert_failures    | 0                                                        |.| wsrep_incoming_addresses     | 10.106.58.213:3307,10.106.58.212:3307,10.106.58.211:3307 || wsrep_evs_delayed            |                                                          || wsrep_evs_evict_list         |                                                          || wsrep_evs_repl_latency       | 0/0/0/0/0                                                || wsrep_evs_state              | OPERATIONAL                                              || wsrep_gcomm_uuid             | c21183b0-5acf-11e5-930d-9bfcbb0bb24c                     || wsrep_cluster_conf_id        | 5                                                        || wsrep_cluster_size           | 3                                                        || wsrep_cluster_state_uuid     | 17b9d472-5ace-11e5-b22f-ab14cb9dcc7b                     || wsrep_cluster_status         | Primary                                                  || wsrep_connected              | ON                                                       || wsrep_local_bf_aborts        | 0                                                        || wsrep_local_index            | 2                                                        || wsrep_provider_name          | Galera                                                   || wsrep_provider_vendor        | Codership Oy <info@codership.com>                        || wsrep_provider_version       | 3.11(r93aca2d)                                           || wsrep_ready                  | ON                                                       |+------------------------------+----------------------------------------------------------+58 rows in set (0.01 sec)

簡單測試pxc

mysql@node1> create database svoid;Query OK, 1 row affected (0.00 sec)mysql@node2> use svoidDatabase changedmysql@node2> create table test(id int);Query OK, 0 rows affected (0.01 sec)mysql@node3> use svoidDatabase changedmysql@node3> show tables;+-----------------+| Tables_in_svoid |+-----------------+| test            |+-----------------+1 row in set (0.00 sec)mysql@node3> insert into test select 1;Query OK, 1 row affected (0.01 sec)Records: 1  Duplicates: 0  Warnings: 0mysqlnode2> update test set id = 2 where id = 1;Query OK, 1 row affected (0.01 sec)Rows matched: 1  Changed: 1  Warnings: 0mysqlnode1> alter table test add primary key(id);Query OK, 1 row affected (0.02 sec)Records: 1  Duplicates: 0  Warnings: 0mysqlnode1> select * from test;+----+| id |+----+|  2 |+----+1 row in set (0.00 sec)模擬故障node1宕機(jī)shell> /opt/pxc/bin/mysqladmin -S /tmp/mysql-node1.sock -u root shutdownmysqlnode2> insert into test select 1;Query OK, 1 row affected (0.00 sec)Records: 1  Duplicates: 0  Warnings: 0mysqlnode2> insert into test select 3;Query OK, 1 row affected (0.00 sec)Records: 1  Duplicates: 0  Warnings: 0啟動node1shell> /opt/pxc/bin/mysqld_safe --defaults-file=/opt/pxc/my.cnf &mysqlnode1> select * from test;+----+| id |+----+|  1 ||  2 ||  3 |+----+3 rows in set (0.00 sec)可以看出其中一個節(jié)點故障不影響其他節(jié)點正常使用,啟動節(jié)點后會自動同步數(shù)據(jù)

上述就是小編為大家分享的PXC的集群安裝是怎樣的了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

pxc
AI