首頁  >  文章  >  資料庫  >  MySql的GR在Ubuntu16.04下如何使用詳解

MySql的GR在Ubuntu16.04下如何使用詳解

黄舟
黄舟原創
2017-03-29 13:14:291991瀏覽

這篇文章主要介紹如何在Ubuntu 16.04下使用#MySql 的GR,本文介紹給大家的非常詳細,需要的朋友可以參考下

一、前言

##文章主要是記錄下從一個純淨的系統開始如何

安裝MySql 5.7.17 並且使用GR,以便於自己後期查看以及分享給他人。 mysql

因為預設ubuntu的來源並不是最新的mysql所以我們需要如下幾個步驟安裝最新的安裝包,當然我們這裡還是使用的apt去安裝。 ##1.下載apt倉庫2.安裝apt倉庫

sudo dpkg -i mysql-apt-config_0.8.3-1_all.deb

在安裝的過程中會出現一個介面讓其選擇版本,這裡大家只要讓第一個選擇5.7 版本即可,當然你可以選擇8.0。是關鍵的設定部分建議大家先通讀一遍,不要直接上來依照這個來。

首先打開/etc/mysql/下的my.cnf配置並寫入以下配置資訊:

sudo apt-get update
sudo apt-get install mysql-server

這裡有一個配置想要說明下,其中「server_id」必須保證每個機器都不相同,可以直接使用ip位址的第四部分,「loose-group_replication_group_nam」在每個機器上都要一致,這個等同於一個群組的標識。 」這個必須指定為目前機器的IP位址,而後面的埠則是表示GR需要監聽的端口,只要保證在其他機器中參數「loose-group_replication_group_seeds」中的機器的IP位址和埠正確可以任意修改該端口(該連接埠是獨立於mysql預設的3306埠的)。中

server_id=1
bind-address=0.0.0.0
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
log_slave_updates=ON
log_bin=binlog
binlog_format=ROW
transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "10.0.0.4:24901"
loose-group_replication_group_seeds= "10.0.0.4:24901,10.0.0.5:24902,10.0.0.6:24903"
loose-group_replication_bootstrap_group= off

執行以下sql語句

sudo service mysql restart

如果是生產環境,使用者可以自行設定對應的帳號和密碼,這裡作為測試就直接使用官方提供的了。

3.安裝插件

我們繼續執行對應的sql語句

mysql -u root -p

如果我們想查看目前是否已經安裝了該插件,可以透過下面的語句查詢

 mysql> SET SQL_LOG_BIN=0;
 mysql> CREATE USER rpl_user@'%';
 mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass';
 mysql> FLUSH PRIVILEGES; #在从数据库不需要执行
 mysql> SET SQL_LOG_BIN=1;
mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass' FOR CHANNEL 'group_replication_recovery';
4.設定Hosts

在開啟最終的GR之前我們需要修改對應的hosts,將主機名稱和IP對應起來,否則後面在連接到其他節點的時候會發生無法連接,因為mysql依賴主機名稱去連接。

開啟hosts

sudo vim /etc/hosts

#寫入如下內容(我目前的環境和機器名稱是這樣的)

mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';

完成上面的配置後退出,我們進入到mysql中接著繼續執行

5.開啟GR

以下方式是在主節點的開啟方式(只在我們第一次安裝的時候需要這樣後面不需要)

mysql> SHOW PLUGINS;

在從屬節點上只要執行以下一句

10.0.0.4 mysql-1
10.0.0.5 mysql-2
10.0.0.6 mysql-3

如果我們要查看目前是否加入成功,可以透過下面的語句查看:

mysql> SET GLOBAL group_replication_bootstrap_group=ON;
mysql> START GROUP_REPLICATION;
mysql> SET GLOBAL group_replication_bootstrap_group=OFF;

到此為止所有的配置就都結束了,其他從屬節點只要按照上面的步驟執行即可,對於測試,我們需要在主節點上新建數據庫,創建表並寫入數據,其他數據庫也會同步。然後關閉主節點之後,透過以下語句

我們可以查詢目前哪個節點為主節點了:

mysql> START GROUP_REPLICATION;
Xamarin.

Android

-> Xamarin.IOS -> ; 混合-> Xamarin.Forms

以上是MySql的GR在Ubuntu16.04下如何使用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn