zoukankan      html  css  js  c++  java
  • Percona XtraDB Cluster 5.7安装配置

    优点:
    1.准同步复制
    2.多个可同时读写节点,可实现写扩展,较分片方案更进一步
    3.自动节点管理
    4.数据严格一致
    5.服务高可用
    缺点:
    1.只支持innodb引擎
    2.所有表都要有主键
    3.所有的写操作都将发生在所有节点上,存在写扩大问题
    4.加入新节点,开销大。需要复制完整的数据。

    node1 172.17.20.127
    node2 172.17.20.128
    node3 172.17.20.129

    安装相关yum源

    rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
    rpm -ivh https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm

     安装pxc

    yum -y install Percona-XtraDB-Cluster-server Percona-XtraDB-Cluster-client Percona-XtraDB-Cluster-shared percona-xtrabackup-24

    修改/etc/my.cnf配置文件,其他两台节点需要修改server_id和wsrep_node_address

    [mysqld]
    server_id=127 #其他节点需要修改 datadir
    =/data/mysql socket=/data//mysql/mysql.sock pid_file=/var/lib/mysql/mysql.pid user=mysql port=3306 default_storage_engine=InnoDB character_set_server=utf8 log-error=/var/lib/mysql/mysql-error.log slow_query_log=1 slow_query_log_file=/var/lib/mysql/mysql-slow.log #INNODB/XtraDB innodb_buffer_pool_size=1610612736 innodb_log_file_size=104857600 #PXC wsrep_provider=/usr/lib64/libgalera_smm.so wsrep_cluster_address=gcomm://172.17.20.127,172.17.20.128,172.17.20.129 binlog_format=ROW innodb_autoinc_lock_mode=2 wsrep_node_address=172.17.20.127 #其他节点需要修改 wsrep_sst_method=xtrabackup-v2  #同步工具 wsrep_cluster_name=my_mysql_cluster wsrep_sst_auth="sstuser:s3cret"  #SST连接的用户名和密码

    创建数据存储目录

    mkdir -p /data/mysql/
    chown mysql.mysql /data/mysql/

    在node1启动PXC服务

    /etc/init.d/mysql bootstrap-pxc   #成功后密码在日志文件里查到
    SET PASSWORD = PASSWORD('123qwe'); #登陆MySQL修改密码。

    在node1MySQL中创建SST同步用户

    GRANT PROCESS,RELOAD,LOCK TABLES,REPLICATION CLIENT ON *.* TO 'sstuser'@'%' IDENTIFIED BY 's3cret';
    flush privileges;
    • State Snapshot Transfer 是可以让one node (donor) 通过数据拷贝升级至joining node (joiner)。
      一个新节点加入至集群中,需要同步数据,那么SST可以传输数据,让新节点成为集群的一部分。
      SST的三个有效方法:mysqldump, rsync andxtrabackup。不过多解释,目前最好用的是xtrabackup

    在node2,node3启动MySQL服务

    /etc/init.d/mysql start

     查看集群状态

    show status like 'wsrep%'; 

    然后测试数据写入和查询

  • 相关阅读:
    effective C++ 条款 46:需要类型转换时请为模板定义非成员函数
    effective C++ 条款 42:了解typename的双重意义
    effective C++ 条款 38:通过复合塑模出hasa或“根据某物实现出”
    effective C++ 条款 44:将与参数无关的代码抽离templates
    职场女性工作的六大禁忌
    正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起
    C# 截图 窗体截图 屏幕截图
    C# 创建DataSet 实例
    c# WinForm 中鼠标控制窗体的移动
    访问用户控件里面的控件的两种方法
  • 原文地址:https://www.cnblogs.com/wsl222000/p/6728402.html
Copyright © 2011-2022 走看看