如何在Ubuntu 16.04下使用MySql的GR
一、前言
該文章主要是記錄下從一個(gè)純凈的系統(tǒng)開始如何安裝MySql 5.7.17 并且使用GR,以便于自己后期查看以及分享給他人。
二、安裝mysql
因?yàn)槟J(rèn)ubuntu的源并不是最新的mysql所以我們需要如下幾個(gè)步驟安裝最新的安裝包,當(dāng)然我們這里還是使用的apt去安裝。
1.下載apt倉(cāng)庫(kù)
sudo wget https://repo.mysql.com//mysql-apt-config_0.8.3-1_all.deb
2.安裝apt倉(cāng)庫(kù)
sudo dpkg -i mysql-apt-config_0.8.3-1_all.deb
在安裝的過(guò)程中會(huì)出現(xiàn)一個(gè)界面讓其選擇版本,這里大家只要讓第一個(gè)選擇 5.7 版本即可,當(dāng)然你可以選擇 8.0。
3.升級(jí)apt倉(cāng)庫(kù)并安裝mysql
sudo apt-get update sudo apt-get install mysql-server
到此為止我們就已經(jīng)安裝了最新的MySql版本了,下面就是關(guān)鍵的配置部分建議大家先通讀一遍,不要直接上來(lái)按照這個(gè)來(lái)。
三、開啟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
這里有一個(gè)配置想要說(shuō)明下,其中“server_id”必須保證每個(gè)機(jī)器都不相同,可以直接使用ip地址的第四部分,“l(fā)oose-group_replication_group_nam”在每個(gè)機(jī)器上都要一致,這個(gè)等同于一個(gè)組的標(biāo)識(shí)。剩下的另一個(gè)不同的就是參數(shù)“l(fā)oose-group_replication_local_address”這個(gè)必須指定為當(dāng)前機(jī)器的IP地址,而后面的端口則是表示GR需要監(jiān)聽(tīng)的端口,只要保證在其他機(jī)器中參數(shù)“l(fā)oose-group_replication_group_seeds”中的機(jī)器的IP地址和端口正確可以任意修改該端口(該端口是獨(dú)立于mysql默認(rèn)的3306端口的)。
完成以上操作之后重啟mysql服務(wù)
sudo service mysql restart
2.新建用戶
首先我們連接到當(dāng)前數(shù)據(jù)庫(kù)中
mysql -u root -p
執(zhí)行以下sql語(yǔ)句
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; #在從數(shù)據(jù)庫(kù)不需要執(zhí)行 mysql> SET SQL_LOG_BIN=1; mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass' FOR CHANNEL 'group_replication_recovery';
如果是生產(chǎn)環(huán)境,用戶可以自己設(shè)置對(duì)應(yīng)的賬戶和密碼,這里作為測(cè)試就直接使用官方提供的了。
3.安裝插件
我們繼續(xù)執(zhí)行對(duì)應(yīng)的sql語(yǔ)句
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
如果我們想查看當(dāng)前是否已經(jīng)安裝了該插件,可以通過(guò)下面的語(yǔ)句查詢
mysql> SHOW PLUGINS;
4.配置Hosts
在開啟最終的GR之前我們需要修改對(duì)應(yīng)的hosts,將主機(jī)名和IP對(duì)應(yīng)起來(lái),否則后面在連接到其他節(jié)點(diǎn)的時(shí)候會(huì)發(fā)生無(wú)法連接,因?yàn)閙ysql依賴主機(jī)名去連接。
打開hosts
sudo vim /etc/hosts
寫入如下內(nèi)容(我當(dāng)前的環(huán)境和機(jī)器名是這樣的)
10.0.0.4 mysql-1 10.0.0.5 mysql-2 10.0.0.6 mysql-3
完成上面的配置后退出,我們進(jìn)入到mysql中接著繼續(xù)執(zhí)行
5.開啟GR
以下方式是在主節(jié)點(diǎn)的開啟方式(只在我們第一次安裝的時(shí)候需要這樣后面不需要)
mysql> SET GLOBAL group_replication_bootstrap_group=ON; mysql> START GROUP_REPLICATION; mysql> SET GLOBAL group_replication_bootstrap_group=OFF;
在從屬節(jié)點(diǎn)上只要執(zhí)行以下一句
mysql> START GROUP_REPLICATION;
如果我們要查看當(dāng)前是否加入成功,可以通過(guò)下面的語(yǔ)句查看:
mysql> SELECT * FROM performance_schema.replication_group_members;
到此為止所有的配置就都結(jié)束了,其他從屬節(jié)點(diǎn)只要按照上面的步驟執(zhí)行即可,對(duì)于測(cè)試,我們需要在主節(jié)點(diǎn)上新建數(shù)據(jù)庫(kù),創(chuàng)建表并寫入數(shù)據(jù),其他數(shù)據(jù)庫(kù)也會(huì)同步。然后關(guān)閉主節(jié)點(diǎn)之后,通過(guò)以下語(yǔ)句
我們可以查詢當(dāng)前哪個(gè)節(jié)點(diǎn)為主節(jié)點(diǎn)了:
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
以上所述是小編給大家介紹的在Ubuntu 16.04下使用MySql的GR,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 解決ubuntu 16.04安裝mysql5.7.17后,登錄時(shí)出現(xiàn)ERROR 1045 (28000): Access denied for user ''root''@''localhost''問(wèn)題
- ubuntu 16.04下mysql5.7.17開放遠(yuǎn)程3306端口
- mysql 5.7.16 安裝配置方法圖文教程(ubuntu 16.04)
- mysql 5.7.17 安裝配置方法圖文教程(ubuntu 16.04)
- Ubuntu16.04 server下配置MySQL,并開啟遠(yuǎn)程連接的方法
- ubuntu16.04.1下 mysql安裝和卸載圖文教程
- Ubuntu Server 16.04安裝MySQL設(shè)置遠(yuǎn)程訪問(wèn)出現(xiàn)問(wèn)題的完美解決方案(error:10061)
相關(guān)文章
FreeBSD6.0Release+Squid+Socks5服務(wù)器架設(shè)筆記
FreeBSD6.0Release+Squid+Socks5服務(wù)器架設(shè)筆記...2007-05-05