PXC的集群安装是怎样的
这期内容当中小编将会给大家带来有关PXC的集群安装是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
Percona XtraDB Cluster简介Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案,Percona XtraDB Cluster完全兼容MySQL和Percona Server。
Percona XtraDB Cluster提供的特性有:
同步复制,事务要么在所有节点提交或不提交。
多主复制,可以在任意节点进行写操作。
在从服务器上并行应用事件,真正意义上的并行复制。
节点自动配置。
数据一致性,不再是异步复制。
pxc优点:
当执行一个查询时,在本地节点上执行。因为所有数据都在本地,无需远程访问。
无需集中管理。可以在任何时间点失去任何节点,但是集群将照常工作。
良好的读负载扩展,任意节点都可以查询。
pxc缺点:
加入新节点,开销大。需要复制完整的数据。
不能有效的解决写缩放问题,所有的写操作都将发生在所有节点上。
有多少个节点就有多少重复的数据。
Percona XtraDB Cluster局限性目前的复制仅仅支持InnoDB存储引擎。任何写入其他引擎的表,包括mysql.*表将不会复制。但是DDL语句会被复制的,因此创建用户将会被复制,但是insert into mysql.user…将不会被复制的。
DELETE操作不支持没有主键的表。没有主键的表在不同的节点顺序将不同,如果执行SELECT…LIMIT… 将出现不同的结果集。
在多主环境下LOCK/UNLOCK TABLES不支持。以及锁函数GET_LOCK(), RELEASE_LOCK()…
查询日志不能保存在表中。如果开启查询日志,只能保存到文件中。
允许最大的事务大小由wsrep_max_ws_rows和wsrep_max_ws_size定义。任何大型操作将被拒绝。如大型的LOAD DATA操作。
由于集群是乐观的并发控制,事务commit可能在该阶段中止。如果有两个事务向在集群中不同的节点向同一行写入并提交,失败的节点将中止。对于集群级别的中止,集群返回死锁错误代码(Error: 1213 SQLSTATE: 40001 (ER_LOCK_DEADLOCK)).
XA事务不支持,由于在提交上可能回滚。
整个集群的写入吞吐量是由最弱的节点限制,如果有一个节点变得缓慢,那么整个集群将是缓慢的。为了稳定的高性能要求,所有的节点应使用统一的硬件。
集群节点建议最少3个。
如果DDL语句有问题将破坏集群。
安装Percona XtraDB 集群shell>tarzxvfPercona-XtraDB-Cluster-5.6.22-72.0.tar.gzshell>cdPercona-XtraDB-Cluster-5.6.22-72.0安装依赖包shell>yuminstallcmakegccgcc-c++libaiolibaio-develautomakeautoconfbzrbisonlibtoolncurses5-develshell>BUILD/compile-pentium64默认安装路径/usr/local/mysql/shell>make&&makeinstallshell>rpm-ivhPercona-XtraDB-Cluster-galera-3-3.14-1.rhel6.x86_64.rpm创建数据文件目录shell>mkdir-p/data/pxcshell>mv/usr/local/mysql//opt/pxcshell>chown-Rmysql.mysql/opt/pxcshell>chown-Rmysql.mysql/data/pxc配置节点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=#SSTmethod#wsrep_sst_method=xtrabackup-v2wsrep_sst_method=rsync#AuthenticationforSSTmethod#wsrep_sst_auth="sstuser:s3cret"#Node#1addresswsrep_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-uroot-S/tmp/mysql-node1.sockmysql>deletefrommysql.userwhereuser='';mysql>GRANTRELOAD,LOCKTABLES,REPLICATIONCLIENTON*.*TOsstuser@'localhost'identifiedby's3cret';mysql>flushprivileges;配置启动节点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状态
mysql>showstatuslike'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|CodershipOy<info@codership.com>||wsrep_provider_version|3.11(r93aca2d)||wsrep_ready|ON|+------------------------------+----------------------------------------------------------+58rowsinset(0.01sec)简单测试pxc
mysql@node1>createdatabasesvoid;QueryOK,1rowaffected(0.00sec)mysql@node2>usesvoidDatabasechangedmysql@node2>createtabletest(idint);QueryOK,0rowsaffected(0.01sec)mysql@node3>usesvoidDatabasechangedmysql@node3>showtables;+-----------------+|Tables_in_svoid|+-----------------+|test|+-----------------+1rowinset(0.00sec)mysql@node3>insertintotestselect1;QueryOK,1rowaffected(0.01sec)Records:1Duplicates:0Warnings:0mysqlnode2>updatetestsetid=2whereid=1;QueryOK,1rowaffected(0.01sec)Rowsmatched:1Changed:1Warnings:0mysqlnode1>altertabletestaddprimarykey(id);QueryOK,1rowaffected(0.02sec)Records:1Duplicates:0Warnings:0mysqlnode1>select*fromtest;+----+|id|+----+|2|+----+1rowinset(0.00sec)模拟故障node1宕机shell>/opt/pxc/bin/mysqladmin-S/tmp/mysql-node1.sock-urootshutdownmysqlnode2>insertintotestselect1;QueryOK,1rowaffected(0.00sec)Records:1Duplicates:0Warnings:0mysqlnode2>insertintotestselect3;QueryOK,1rowaffected(0.00sec)Records:1Duplicates:0Warnings:0启动node1shell>/opt/pxc/bin/mysqld_safe--defaults-file=/opt/pxc/my.cnf&mysqlnode1>select*fromtest;+----+|id|+----+|1||2||3|+----+3rowsinset(0.00sec)可以看出其中一个节点故障不影响其他节点正常使用,启动节点后会自动同步数据
上述就是小编为大家分享的PXC的集群安装是怎样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。