溫馨提示×

溫馨提示×

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

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

PXC三節點集群系統搭建

發布時間:2020-07-11 18:07:37 來源:網絡 閱讀:5058 作者:對唔住 欄目:MySQL數據庫

1.概念:

    Percona Xtradb Cluster,簡稱PXC。是基于Galera插件的MySQL集群。

    PXC三節點集群系統搭建

    詳細原理請移步我的另外文章:理解PXC集群原理

   

2.搭建

    官方手冊地址:https://www.percona.com/doc/percona-xtradb-cluster/LATEST/index.html


     環境:PXC101 IP:192.168.1.101 端口:3306  版本5.7 CentOS7

           PXC102 IP:192.168.1.102 端口:3306  版本5.7 CentOS7

           PXC103 IP:192.168.1.103 端口:3306  版本5.7 CentOS7


           1.關閉系統防火墻

      #systemctl stop   firewalld
      #systemctl disable  firewalld       #取消防火墻開機自啟動

           2.關閉selinux

      #vim /etc/selinux/config         
        SELINUX=permissive
      #getenforce                  #檢查是否關閉

           3.安裝依賴,與相關診斷軟件           

      #yum install lsof socat telnet       #telnet用于檢查端口

           4.下載,解壓二進制安裝包(三個主機都執行):

            (選擇二進制安裝包,可以避免各種編譯或者Yum安裝依賴關系,最節省時間,且日后升級方便

             101版本對應REHL系列版本,100對應DEBIAN系列版本,有區別          

      #wget https://www.percona.com/downloads/Percona-XtraDB-Cluster-LATEST/Percona-XtraDB-Cluster-5.7.19-29.22-3/binary/tarball/Percona-XtraDB-Cluster-5.7.19-rel17-29.22.3.Linux.x86_64.ssl101.tar.gz -P /usr/local/src
      #tar -zxf /usr/local/src/Percona-Xtra(...).tar.gz   -C /usr/local
       
      #創建符號連接,即創建快捷方式,這也是日后方便升級的小技巧
      #ln -s /usr/local/Percona-XtraDB-Cluster-5.7.19-rel17-29.22.3.Linux.x86_64.ssl101 /usr/local/mysql
       
      #將可執行文件位置關聯到路徑中,方便像Yum安裝的程序一樣直接調用
      #echo "PATH=$PATH:/usr/local/mysql/bin"|cat >>/etc/profile
      #source /etc/profile

            5.創建MySQL用戶與用戶組,權限相關(三個主機都執行):          

      #useradd -d /usr/local/mysql -s /sbin/nologin -U -M mysql
      #mkdir -p /data/mysql/3306/{data,logs,tmp}
      #chown -R mysql.mysql /data/*

            6.創建配置文件(三個主機都執行)

            cat << EOF >/data/mysql/3306/my.cnf
            [client]
             #省略
            [mysql]
             #省略
            [mysqld]
            basedir    = /usr/local/mysql
            datadir    = /data/mysql/3306/data/
            socket    = /data/mysql/3306/tmp/mysql3306.sock
            pid-file = PXC3306.pid
            #省略#
            #log
            log-bin = mysql-bin
            sync_binlog = 1
            innodb_flush_log_at_trx_commit = 1
            #省略#
            #InnoDB
            innodb_file_per_table = 1
            ##InnoDB IO
            innodb_data_file_path = ibdata1:1G:autoextend
            innodb_thread_concurrency = 0
            #replication
            server-id = 1013306                          #IP+PORT
            master_info_repository = TABLE
            relay_log_info_repository = TABLE
            binlog_format = row
            relay_log_recovery = 1
            relay-log-purge = 1
            ##GTID
            gtid_mode = on                                                #必須
            enforce_gtid_consistency = 1                                  #必須
            #省略#
            #PXC MODE
            wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so          #galera插件位置
            wsrep_cluster_name=zrz                                        #集群名稱
            wsrep_cluster_address=gcomm://192.168.1.101,192.168.1.102,192.168.1.103   #群集所有主機地址
            wsrep_node_name=PXC101                                        #本節點名稱
            wsrep_node_address=192.168.1.101                              #本節點IP
            wsrep_sst_method=xtrabackup-v2                                #寫集全量同步傳輸方式
            wsrep_sst_auth=dba:123456                                     #寫集傳輸驗證用戶與密碼
            pxc_strict_mode=ENFORCING                                     #必須,涉及到集群數據安全
            binlog_format=ROW                                             #必須
            default_storage_engine=InnoDB                                 #必須
            innodb_autoinc_lock_mode=2                                    #自增鎖離散分配自增主鍵
            
            EOF

        先將上述配置文件中的PXC MODE相關配置項注釋掉(前面加#)       

    #/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/3306/my.cnf --initialize --user=mysql &

        獲取初始密碼并更改root密碼,創建全量寫集傳輸用戶

    #grep  -i password /data/mysql/3306/error.log      
    #mysqld --defaults-file=/data/mysql/3306/my.cnf &  #純單實例方式啟動MySQL
    #mysql -u root -p                                #輸入剛剛grep得到的密碼                            #回車后輸入剛剛查到的密碼
    >set password='123456';                               #更改root用戶密碼
    >flush privileges;                
    >create user dba@'localhost' identified by '123456';  #創建全量寫集傳輸用戶
    >GRANT PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'dba'@'localhost';
    >flush privileges;
    >shutdown;                                            #關閉實例
    >exit

        8.啟動PXC第一個節點

        先將上一步注釋掉的PXC MODE相關配置項重新啟用(前面刪掉#)       

    #/usr/local/mysql/bin/mysqld--defaults-file=/data/mysql/3306/my.cnf --user=mysql --wsrep-new-cluster&

        同時tail -f /data/mysql/3306/error.log會觀察到:

        PXC三節點集群系統搭建

         9.啟動第二個第三個節點        

    #在第二個節點上執行
    #/usr/local/mysql/bin/mysqld--defaults-file=/data/mysql/3306/my.cnf --user=mysql&
    #在第三個節點上執行
    #/usr/local/mysql/bin/mysqld--defaults-file=/data/mysql/3306/my.cnf --user=mysql&

         這時在第一個節點的錯誤節點上觀測錯誤日志可以得到

          PXC三節點集群系統搭建    

         在第二個節點或者第三個節點上都可以觀測到:

        PXC三節點集群系統搭建 

        OK,都啟動成功。

3.查看WSREP寫集同步

      1.查看寫集同步相關參數

       在任意一個已經進入同步狀態的實例上執行

        >show global status like "%wsrep%";

        輸出如下:

        PXC三節點集群系統搭建

      2.檢查同步情況

        在實例3上創建數據庫

        >create database dba;

        在實例1和實例2上都可以觀測到:

        >show database;

        PXC三節點集群系統搭建


    OK,到這里,我們就完成了整個PXC集群的創建

4.注意:

    第一個節點啟動時需添加 --wsrep-new-cluster參數。

    而節點加入已經啟動的集群,則不需要這個參數,按照正常啟動方式即可。

    更多疑難故障解答,請瀏覽我的下個帖子:PXC搭建故障疑難解答

 

附件:http://down.51cto.com/data/2368756
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女