Galera Cluster for MySQL

來源:互聯網
上載者:User

標籤:cas   core   col   串連   _id   並行   star   失效   lease   

MySQL Galera介紹

主要功能:

  • 同步複製
  • 真正的multi-master,即所有節點可以同時讀寫資料庫
  • 自動的節點成員控制,失效節點自動被清除
  • 新節點加入資料自動複製
  • 真正的並行複製,行級
  • 使用者可以直接連接叢集,使用感受上與MySQL完全一致

優勢:

  • 因為是多主,所以不存在Slave lag(延遲)
  • 不存在丟失交易的情況
  • 同時具有讀和寫的擴充能力
  • 更小的用戶端延遲
  • 節點間資料是同步的,而Master/Slave模式是非同步,不同slave上的binlog可能是不同的
  環境
 IP 位址         主機名稱         描述10.0.0.10       node1       第一個啟動10.0.0.11       node210.0.0.12       node3
版本資訊
[[email protected] ~]#  cat /etc/redhat-releaseCentOS Linux release 7.1.1503 (Core) [[email protected] ~]# uname -aLinux node2 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
關閉防火牆和SElinux
[[email protected] ~]# systemctl stop firewalld.service[[email protected] ~]# setenforce 0
清除原有Mysql
[[email protected] ~]# yum erase mysql mysql-devel mysql-libs -y[[email protected] ~]# rpm -qa |grep mysql
組件
http://releases.galeracluster.com/mysql-wsrep-5.6/centos/7/x86_64/http://releases.galeracluster.com/galera-3/centos/7/x86_64/
安裝組件(yum 安裝,依次安裝了,如果失敗,等其他安裝包安裝好以後,重新安裝一遍)
[[email protected] ~]# yum install -y http://releases.galeracluster.com/mysql-wsrep-5.6/centos/7/x86_64/mysql-wsrep-client-5.6-5.6.38-25.21.el7.x86_64.rpm[[email protected] ~]# yum install -y http://releases.galeracluster.com/mysql-wsrep-5.6/centos/7/x86_64/mysql-wsrep-devel-5.6-5.6.38-25.21.el7.x86_64.rpm[[email protected] ~]# yum install -y http://releases.galeracluster.com/mysql-wsrep-5.6/centos/7/x86_64/mysql-wsrep-shared-5.6-5.6.38-25.21.el7.x86_64.rpm[[email protected] ~]# yum install -y http://releases.galeracluster.com/mysql-wsrep-5.6/centos/7/x86_64/mysql-wsrep-test-5.6-5.6.38-25.21.el7.x86_64.rpm[[email protected] ~]# yum install -y http://releases.galeracluster.com/galera-3/centos/7/x86_64/galera-3-25.3.22-2.el7.x86_64.rpm[[email protected] ~]# yum install -y http://releases.galeracluster.com/mysql-wsrep-5.6/centos/7/x86_64/mysql-wsrep-server-5.6-5.6.38-25.21.el7.x86_64.rpm
mysql 初次開機
[[email protected] ~]# service mysql start --skip-grant-tables
輸入 mysql 登入,添加使用者名稱、密碼和對應資料庫的使用者名稱、密碼許可權
mysql> use mysql;mysql> update user set password=PASSWORD("123456") where USER="root"mysql> quit
重啟資料庫
[[email protected] ~]# service mysql restart
重啟mysql服務,使用建立的使用者名稱和密碼登入.再次進入的時候回提示你設定密碼
 mysql> SET PASSWORD=PASSWORD("123456")
 給對應需要訪問MySQL的使用者名稱和密碼進行授權,如果沒有授權,是無法遠端連線MySQL的(兩條密令二選一)
授權指定連接埠使用者串連mysql資料庫的命令mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘10.0.0.10‘ IDENTIFIED BY ‘123456‘ WITH    GRANT OPTION;授權無連接埠限制的使用者登入mysql資料庫mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;  
建立同步帳號
mysql> grant all on *.* to ‘wsrep‘@‘%‘ identified by ‘nx111111‘;mysql> quit
設定Mysql為開機啟動
[[email protected] ~]# chkconfig mysql on
去掉Postfix,這個可能跟MySQL配置有衝突
[[email protected] ~]# yum remove postfix -y
關閉Mysql
[[email protected] ~]# service mysql stop
設定檔
[[email protected] ~]# vim /etc/my.cnf !includedir /etc/my.cnf.d/
拷貝swrep.conf 檔案到/etc/my.cnf.d/下
[[email protected] ~]# cp -r /usr/share/doc/mysql-wsrep-server-5.6-5.6.38/wsrep.cnf /etc/my.cnf.d/
將以下配置替原有配置
vim /etc/my.cnf.d/wsrep.conf[mysqld]server_id = 10    # 每個節點都不一樣,分別是 10、11、12default_storage_engine = InnoDBdatadir =/var/lib/mysql/binlog_format = ROWlog-bin = mysql-binlog-slave-updates = 1              innodb_autoinc_lock_mode = 2lower_case_table_names = 1   # 修改這個配置必須重啟log_bin_trust_function_creators = 1wsrep_provider = /usr/lib64/galera-3/libgalera_smm.sowsrep_sst_auth = wsrep:nx111111wsrep_sst_method = xtrabackupwsrep_cluster_name = ‘nx_wsrep‘  # 叢集名,一定要一致。wsrep_node_name = node1  #本節點主機名稱wsrep_cluster_address = gcomm://10.0.0.11,10.0.0.12  # 其它節點 IPwsrep_node_address = 10.0.0.10  # 本節點 IPwsrep_sst_donor=node2,node3,  # 其它節點的名稱wsrep_sst_method = rsyncwsrep_slave_threads=8innodb_buffer_pool_size=10737418240innodb_log_file_size=134217728innodb_flush_log_at_trx_commit=2#innodb_buffer_pool_dump_at_shutdown=1#innodb_buffer_pool_load_at_startup=1#innodb_log_file_buffer_size=16777216skip-name-resolve[client]user = wsreppassword = nx111111
啟動 mysql-wsrep

叢集中的第一個節點,以空地址啟動

[[email protected] ~]# mysqld_safe --wsrep_cluster_address=gcomm:// >/dev/null &

其它節點,啟動方式

[[email protected] ~]# mysqld_safe > /dev/null &
查看叢集狀態

確認MySQL的3306連接埠和wsrep的4567連接埠處於監聽狀態

[[email protected] ~]# netstat -tulpn | grep -e 4567 -e 3306tcp        0      0 0.0.0.0:4567            0.0.0.0:*               LISTEN      5036/mysqld         tcp6       0      0 :::3306                 :::*                    LISTEN      5036/mysqld

叢集功能是否開啟

mysql> show status like ‘wsrep_ready‘; +---------------+-------+| Variable_name | Value |+---------------+-------+| wsrep_ready   | ON    |+---------------+-------+1 row in set (0.00 sec)

叢集ID號

mysql> SHOW  GLOBAL  STATUS  LIKE  ‘wsrep_cluster_state_uuid‘ ;+--------------------------+--------------------------------------+| Variable_name            | Value                                |+--------------------------+--------------------------------------+| wsrep_cluster_state_uuid | 176a8d84-e0ba-11e7-9e7b-d7b3a39130ff |+--------------------------+--------------------------------------+1 row in set (0.00 sec)

叢集中的節點數量

mysql> SHOW  GLOBAL  STATUS  LIKE  ‘wsrep_cluster_size‘ ;+--------------------+-------+| Variable_name      | Value |+--------------------+-------+| wsrep_cluster_size | 3     |+--------------------+-------+1 row in set (0.00 sec)

叢集(其他)節點地址

mysql> show variables like ‘wsrep_cluster_address‘;+-----------------------+----------+| Variable_name         | Value    |+-----------------------+----------+| wsrep_cluster_address | gcomm:// |+-----------------------+----------+1 row in set (0.00 sec)
參考
http://blog.csdn.net/yangchuan_csdn91/article/details/52689981?locationNum=2

 

Galera Cluster for MySQL

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.