MySql的GR在Ubuntu16.04下如何使用詳細說明
發表時間:2023-09-02 來源:明輝站整理相關軟件相關文章人氣:
[摘要]這篇文章主要介紹了如何在Ubuntu 16.04下使用MySql的GR,本文給大家介紹的非常詳細,需要的朋友可以參考下一、前言該文章主要是記錄下從一個純凈的系統開始如何安裝MySql 5.7.17 并且使用GR,以便于自己后期查看以及分享給他人。二、安裝mysql因為默認ubuntu的源并不是最新...
這篇文章主要介紹了如何在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。
3.升級apt倉庫并安裝mysql
sudo apt-get update
sudo apt-get install mysql-server
到此為止我們就已經安裝了最新的MySql版本了,下面就是關鍵的配置部分建議大家先通讀一遍,不要直接上來按照這個來。
三、開啟GR
1.修改配置
首先打開/etc/mysql/下的my.cnf配置并寫入以下配置信息:
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
這里有一個配置想要說明下,其中“server_id”必須保證每個機器都不相同,可以直接使用ip地址的第四部分,“loose-group_replication_group_nam”在每個機器上都要一致,這個等同于一個組的標識。剩下的另一個不同的就是參數“loose-group_replication_local_address”這個必須指定為當前機器的IP地址,而后面的端口則是表示GR需要監聽的端口,只要保證在其他機器中參數“loose-group_replication_group_seeds”中的機器的IP地址和端口正確可以任意修改該端口(該端口是獨立于mysql默認的3306端口的)。
完成以上操作之后重啟mysql服務
sudo service mysql restart
2.新建用戶
首先我們連接到當前數據庫中
mysql -u root -p
執行以下sql語句
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';
如果是生產環境,用戶可以自己設置對應的賬戶和密碼,這里作為測試就直接使用官方提供的了。
3.安裝插件
我們繼續執行對應的sql語句
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
如果我們想查看當前是否已經安裝了該插件,可以通過下面的語句查詢
mysql> SHOW PLUGINS;
4.配置Hosts
在開啟最終的GR之前我們需要修改對應的hosts,將主機名和IP對應起來,否則后面在連接到其他節點的時候會發生無法連接,因為mysql依賴主機名去連接。
打開hosts
sudo vim /etc/hosts
寫入如下內容(我當前的環境和機器名是這樣的)
10.0.0.4 mysql-1
10.0.0.5 mysql-2
10.0.0.6 mysql-3
完成上面的配置后退出,我們進入到mysql中接著繼續執行
5.開啟GR
以下方式是在主節點的開啟方式(只在我們第一次安裝的時候需要這樣后面不需要)
mysql> SET GLOBAL group_replication_bootstrap_group=ON;
mysql> START GROUP_REPLICATION;
mysql> SET GLOBAL group_replication_bootstrap_group=OFF;
在從屬節點上只要執行以下一句
mysql> START GROUP_REPLICATION;
如果我們要查看當前是否加入成功,可以通過下面的語句查看:
mysql> SELECT * FROM performance_schema.replication_group_members;
到此為止所有的配置就都結束了,其他從屬節點只要按照上面的步驟執行即可,對于測試,我們需要在主節點上新建數據庫,創建表并寫入數據,其他數據庫也會同步。然后關閉主節點之后,通過以下語句
我們可以查詢當前哪個節點為主節點了:
mysql> select *from performance_schema.replication_group_members where member_id =(select variable_value from performance_schema.
global_status WHERE VARIABLE_NAME= 'group_replication_primary_member');
Xamarin.Android -> Xamarin.IOS -> 混合 -> Xamarin.Forms
以上就是MySql的GR在Ubuntu16.04下如何使用詳解的詳細內容,更多請關注php中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。