溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

青云Xenon管理mysql主從復(fù)制測(cè)試

發(fā)布時(shí)間:2020-05-21 16:27:39 來源:網(wǎng)絡(luò) 閱讀:3862 作者:wjw555 欄目:系統(tǒng)運(yùn)維

環(huán)境:2臺(tái)VM虛擬機(jī)CentOS7 X86_64 位系統(tǒng)

配置環(huán)境要求:

一、2臺(tái)虛擬機(jī)器要關(guān)閉iptables 關(guān)閉firewalld, 關(guān)閉selinux,開啟時(shí)間同步參數(shù),保證2臺(tái)虛擬機(jī)器的時(shí)間是一致的
二、2臺(tái)虛擬機(jī)的sshd服務(wù)要開啟22端口(Xenon代碼中只支持通過22端口來ssh相互之間訪問)
三、Xenon服務(wù)啟動(dòng)用戶要和mysql服務(wù)的啟動(dòng)用戶必須是相同的用戶才行,此實(shí)例模擬演示都是采用的系統(tǒng)用戶mysql.
四、2臺(tái)虛擬機(jī)系統(tǒng)用戶mysql,要允許shell登錄,而且2臺(tái)虛擬機(jī)mysql用戶之間能互相免秘鑰訪問
五、2臺(tái)虛擬機(jī)系統(tǒng)上安裝的mysql的版本必須是mysql5.7版本以上(含mysql5.7),而且2臺(tái)mysql要開啟半同步復(fù)制參數(shù)(Xenon是基于半同步復(fù)制的)
六、2臺(tái)虛擬機(jī)系統(tǒng)上都要安裝sshpass軟件
七、2臺(tái)虛擬機(jī)系統(tǒng)上的Xenon.json配置文件中要調(diào)用shell命令來執(zhí)行相關(guān)的命令。由于xenon服務(wù)是系統(tǒng)普通用戶mysql啟動(dòng)的,所以通過xenon.json文件執(zhí)行命令行命令時(shí),
需要授權(quán)mysql系統(tǒng)用戶相關(guān)命令的sudo權(quán)限,才能夠執(zhí)行系統(tǒng)命令
八、xenon.json配置文件中要配置幾個(gè)賬戶權(quán)限,來讓xenon服務(wù)能夠自動(dòng)創(chuàng)建mysql的主從復(fù)制關(guān)系,以及自動(dòng)切換mysql復(fù)制關(guān)系和自動(dòng)故障恢復(fù)等等操作
提示:在xenon.json配置文件中配置mysql復(fù)制賬戶和密碼時(shí),xenon服務(wù)是能夠自動(dòng)創(chuàng)建復(fù)制賬戶的,并且給的權(quán)限是%的權(quán)限。并且自動(dòng)創(chuàng)建復(fù)制關(guān)系。但是在測(cè)試中發(fā)現(xiàn)會(huì)報(bào)錯(cuò),提示復(fù)制賬戶權(quán)限不正確。

于是在此次演示過程中,本人自己直接在2臺(tái)mysql的實(shí)例上創(chuàng)建相同的復(fù)制賬戶。
命令如下

grant replication slave on *.* to repuser@'172.16.0.%' identified by 'repuser9slave'; flush privileges; ##復(fù)制賬戶和密碼 
 grant all on *.* to root@'127.0.0.1' identified by 'rrtestjianwei';flush privileges;  

##在xenon構(gòu)建的HA+ mysql集群中,建議讀寫都在master庫(kù)上,所以在xenon維護(hù)的mysql集群中,slave庫(kù)是不允許寫的.master主庫(kù)發(fā)生故障后,節(jié)點(diǎn)slave庫(kù)要發(fā)生切換變成主庫(kù),所以原先的只讀權(quán)限要通過這個(gè)賬戶登錄數(shù)據(jù)庫(kù)修改權(quán)限變?yōu)榭勺x寫

 grant all on *.* to codeuser@'172.16.0.%' identified by 'rrtestjianwei';flush privileges;   

##允許代碼連接庫(kù)的賬戶和密碼,以及IP地址,建議此處直接給綁定網(wǎng)卡的服務(wù)ip 172.16.0.100作為唯一的代碼連接庫(kù)的地址

九、2臺(tái)虛擬機(jī)的IP地址和綁定 /etc/hosts

系統(tǒng)IP地址
10.0.0.130  172.16.0.130
10.0.0.131  172.16.0.131

提示:在2臺(tái)物理機(jī)器上測(cè)試的時(shí)候,一開始由于2臺(tái)物理機(jī)器插內(nèi)網(wǎng)線的網(wǎng)口不相同(一個(gè)在網(wǎng)口2,一個(gè)在網(wǎng)口3),使得配置內(nèi)網(wǎng)ip地址的網(wǎng)卡也不相同,在2臺(tái)機(jī)器xenon.json配置文件中綁定服務(wù)ip的到網(wǎng)卡em1上。
雖然后面的測(cè)試,2臺(tái)機(jī)器的上的xenon服務(wù)都能成功啟動(dòng),并且也可以把各自的mysql服務(wù)拉起來,在2臺(tái)機(jī)器上/data/xenon/bin/xenoncli cluster add ip:8801 添加對(duì)方的節(jié)點(diǎn)mysql。
并且服務(wù)ip也可以成功的綁定到預(yù)先設(shè)置的em1上。接著后面的問題出現(xiàn)了:在綁定有服務(wù)ip的機(jī)器上通過這個(gè)服務(wù)ip和他自身的內(nèi)網(wǎng)ip是可以登錄數(shù)據(jù)庫(kù)的,但是在沒有綁定服務(wù)ip機(jī)器上通過這個(gè)服務(wù)ip登錄對(duì)端的mysql服務(wù)
居然被拒絕登錄mysql服務(wù)(登錄mysql服務(wù)的權(quán)限確定給的沒問題)
于是讓機(jī)房把這2臺(tái)內(nèi)網(wǎng)線重新到插到相同的網(wǎng)卡上,然后在相同的網(wǎng)卡上配置各自的內(nèi)網(wǎng)ip地址,同時(shí)有在xenon.json配置文件中指定綁定服務(wù)ip到插內(nèi)網(wǎng)線的網(wǎng)卡上。此時(shí)以上的問題得以解決

綁定 /etc/hosts:

[root@mgr01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.0.130 mgr01
172.16.0.131 mgr03
[root@mgr03 ~]# cat /etc/hosts
172.16.0.130 mgr01
172.16.0.131 mgr03

下面介紹具體的配置步驟

提示:下面的配置步驟要在2臺(tái)虛擬機(jī)器上都要執(zhí)行的

第一、安裝二進(jìn)制版本mysql5.7.24

tar xf  mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ln -sv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
echo "export PATH=$PATH:/usr/local/mysql/bin" >/etc/profile.d/mysql.sh 
source  /etc/profile
初始化mysql:
mysqld  --defaults-file=/data/mysql/mysql3306/my3306.cnf  --initialize
啟動(dòng)mysql:
mysqld  --defaults-file=/data/mysql/mysql3306/my3306.cnf  &

[root@mgr01 ~]# cat .my.cnf 
[client]
socket = /tmp/mysql.sock
user=root
password=123456
prompt="(\\u@\\'mgr01':\\p)[\\d]>"

登錄mysql進(jìn)行賬戶授權(quán):

grant replication slave on *.* to repuser@'172.16.0.%' identified by 'repuser9slave'; flush privileges;
grant all on *.* to root@'127.0.0.1' identified by 'rrtestjianwei';flush privileges;
grant all on *.* to codeuser@'172.16.0.%' identified by 'rrtestjianwei';flush privileges;

提示:2臺(tái)機(jī)器上都執(zhí)行上面的步驟安裝mysql.要求/data/mysql/mysql3306/my3306.cnf 配置文件都要開啟MySQL的半同步復(fù)制的參數(shù)

下面的參數(shù)要寫入到/data/mysql/mysql3306/my3306.cnf 配置文件:

plugin-load="semisync_master.so;semisync_slave.so"
rpl_semi_sync_master_enabled=OFF
rpl_semi_sync_slave_enabled=ON
rpl_semi_sync_master_wait_no_slave=ON
rpl_semi_sync_master_timeout=1000000000000000000  ##參數(shù)目的就是不讓半同步復(fù)制轉(zhuǎn)化為異步復(fù)制

第二、安裝xenon服務(wù)

介紹:
Xenon是一個(gè)自包含的二進(jìn)制文件,在操作系統(tǒng)級(jí)別不需要其他系統(tǒng)庫(kù)。 它基于Linux構(gòu)建。 沒有關(guān)于MS Windows和OS / X的提示,并且該版本與Windows和OS / X不兼容。
它是一個(gè)獨(dú)立的應(yīng)用程序。 配置為與MySQL后端一起運(yùn)行時(shí),因此需要mysqld。

Xenon使用GTID半同步并行復(fù)制技術(shù),MySQL版本最好是5.7或更高版本。 有關(guān)詳細(xì)信息,請(qǐng)參見my.cnf
地址:https://github.com/radondb/xenon/blob/master/docs/config/MySQL.md
下面的mysql的半同步復(fù)制參數(shù)要寫入到/data/mysql/mysql3306/my3306.cnf 配置文件

plugin-load="semisync_master.so;semisync_slave.so"
rpl_semi_sync_master_enabled=OFF
rpl_semi_sync_slave_enabled=ON
rpl_semi_sync_master_wait_no_slave=ON
rpl_semi_sync_master_timeout=1000000000000000000

由于xenon服務(wù)是go語言開發(fā)的,所以需要go環(huán)境來運(yùn)行,且要求需要Go版本1.8或更高版本

2.1安裝go環(huán)境

需要Go版本1.8或更高版本(對(duì)于ubuntu是“ sudo apt install golang”,對(duì)于centOS / redhat是“ yum install golang”)。
采用二進(jìn)制安裝golang ,版本是go1.9.3.linux-amd64.tar.gz
go 二進(jìn)制包下載地址:
wget  https://storage.googleapis.com/golang/go1.9.3.linux-amd64.tar.gz
tar xf go1.11.linux-amd64.tar.gz  -C /usr/local/

[root@mgr01 ~]# tail -2 /etc/profile
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
[root@mgr01 ~]# go version
go version go1.11 linux/amd64

2.2 安裝xenon服務(wù)

1下載:
git clone https://github.com/radondb/xenon.git
cd xenon
2.編譯構(gòu)建
make build
 ls bin/
xenon  xenoncli
3.配置config
 cp xenon/conf/xenon-sample.conf.json /etc/xenon/xenon.json

[mysql@mgr01 ~]$ cat /data/xenon/bin/config.path
/etc/xenon/xenon.json

這里需要注意的是,運(yùn)行xenon的帳戶必須與mysql帳戶一致,例如使用ubuntu帳戶啟動(dòng)xenon,它需要ubuntu mysql的啟動(dòng)和mysql目錄的權(quán)限。
這與傳統(tǒng)的mysql地方不一樣,不需要mysql帳戶,運(yùn)行xenon帳戶的同事就是mysql帳戶。

注意:以下是命令行示例的摘要。 為簡(jiǎn)單起見,我們假設(shè)xenon在您的指定的路徑下。 如果不是,replace xenon with /path/to/xenon.
在xenon命令路徑中,您需要有一個(gè)名為config.path的文件,它是xenon.json文件的絕對(duì)路徑。 確保使用-c或--config指定xenon_config_file的位置。

2.3、2臺(tái)機(jī)器創(chuàng)建系統(tǒng)用戶mysql

2臺(tái)機(jī)器創(chuàng)建系統(tǒng)用戶mysql并且2臺(tái)機(jī)器之間實(shí)現(xiàn)mysql用戶免秘鑰訪問,而且mysql系統(tǒng)賬戶只能是22端口才能訪問

useradd mysql
passwd mysql
授權(quán)mysql用戶sudo權(quán)限可以執(zhí)行下面的命令:

 [root@mgr01 ~]# tail -1 /etc/sudoers
mysql ALL=(ALL)     NOPASSWD: /usr/sbin/ip

2臺(tái)虛擬機(jī)之間系統(tǒng)用戶mysql相互免秘鑰操作:

 ssh-keygen -t rsa 
 .ssh/authorized_keys
 chmod 600 .ssh/authorized_keys 

2.4、啟動(dòng)xenon服務(wù):

172.16.0.130 機(jī)器xenon.json內(nèi)容如下:(172.16.0.131配置文件要把IP跟換成自己內(nèi)網(wǎng)卡172.16.0.131地址)


[mysql@mgr01 ~]$ cat /etc/xenon/xenon.json 
{
    "server":
    {
        "endpoint":"172.16.0.130:8801"
    },

    "raft":
    {
        "meta-datadir":"raft.meta",
        "heartbeat-timeout":1000,
        "election-timeout":3000,
        "leader-start-command":"sudo /usr/sbin/ip a a 172.16.0.100/16 dev eth0 && arping -c 3 -A  172.16.0.100  -I eth0",
        "leader-stop-command":"sudo /usr/sbin/ip a d 172.16.0.100/16 dev eth0"
    },

    "mysql":
    {
        "admin":"root",
        "passwd":"rrtestjianwei",
        "host":"127.0.0.1",
        "port":3306,
        "basedir":"/usr/local/mysql",
        "defaults-file":"/data/mysql/mysql3306/my3306.cnf",
        "ping-timeout":1000,
        "master-sysvars":"super_read_only=0;read_only=0;sync_binlog=default;innodb_flush_log_at_trx_commit=default",
        "slave-sysvars": "super_read_only=1;read_only=1;sync_binlog=1000;innodb_flush_log_at_trx_commit=2"
    },

    "replication":
    {
        "user":"repuser",
        "passwd":"repuser9slave"
    },

    "backup":
    {
        "ssh-host":"172.16.0.130",
        "ssh-user":"mysql",
        "ssh-passwd":"rrtestjianwei669",
        "ssh-port":22,
        "backupdir":"/data/mysql/mysql3306/data",
        "xtrabackup-bindir":"/usr/bin",
        "backup-iops-limits":100000,
        "backup-use-memory": "1GB",
        "backup-parallel": 2
    },

    "rpc":
    {
        "request-timeout":500
    },

    "log":
    {
        "level":"INFO"
    }
}

啟動(dòng)命令:
172.16.0.130機(jī)器操作:

[mysql@mgr01 ~]$ /data/xenon/bin/xenon -c /etc/xenon/xenon.json > /data/xenon/xenon.log 2>&1 &

添加xenon節(jié)點(diǎn)

[mysql@mgr01 xenon]$  /data/xenon/bin/xenoncli  cluster add 172.16.0.131:8801
 2019/12/08 23:13:29.937943       [WARNING]     cluster.prepare.to.add.nodes[172.16.0.131:8801].to.leader[]
 2019/12/08 23:13:29.938024       [WARNING]     cluster.canot.found.leader.forward.to[172.16.0.130:8801]
 2019/12/08 23:13:29.950792       [WARNING]     cluster.add.nodes.to.leader[].done

查看xenon節(jié)點(diǎn):

[mysql@mgr01 ~]$ /data/xenon/bin/xenoncli  cluster status
+-------------------+--------------------------------+---------+---------+--------------------------+---------------------+----------------+-------------------+
|        ID         |              Raft              | Mysqld  | Monitor |          Backup          |        Mysql        | IO/SQL_RUNNING |     MyLeader      |
+-------------------+--------------------------------+---------+---------+--------------------------+---------------------+----------------+-------------------+
| 172.16.0.130:8801 | [ViewID:16 EpochID:1]@LEADER   | RUNNING | ON      | state:[NONE]?            | [ALIVE] [READWRITE] | [true/true]    | 172.16.0.130:8801 |
|                   |                                |         |         | LastError:               |                     |                |                   |
+-------------------+--------------------------------+---------+---------+--------------------------+---------------------+----------------+-------------------+
| 172.16.0.131:8801 | [ViewID:16 EpochID:1]@FOLLOWER | RUNNING | ON      | state:[NONE]?            | [ALIVE] [READONLY]  | [true/true]    | 172.16.0.130:8801 |
|                   |                                |         |         | LastError:               |                     |                |                   |
+-------------------+--------------------------------+---------+---------+--------------------------+---------------------+----------------+-------------------+
(2 rows)
操作完成過6s后,有最初的都是read_only變成了一個(gè)[READONLY和一個(gè)READWRITE

172.16.0.131機(jī)器操作:

[mysql@mgr03 ~]$ /data/xenon/bin/xenon -c /etc/xenon/xenon.json > /data/xenon/xenon.log 2>&1 &
[mysql@mgr03 ~]$ /data/xenon/bin/xenoncli  cluster add 172.16.0.130:8801

[mysql@mgr03 ~]$ /data/xenon/bin/xenoncli  cluster status
+-------------------+--------------------------------+---------+---------+--------------------------+---------------------+----------------+-------------------+
|        ID         |              Raft              | Mysqld  | Monitor |          Backup          |        Mysql        | IO/SQL_RUNNING |     MyLeader      |
+-------------------+--------------------------------+---------+---------+--------------------------+---------------------+----------------+-------------------+
| 172.16.0.131:8801 | [ViewID:16 EpochID:1]@FOLLOWER | RUNNING | ON      | state:[NONE]?            | [ALIVE] [READONLY]  | [true/true]    | 172.16.0.130:8801 |
|                   |                                |         |         | LastError:               |                     |                |                   |
+-------------------+--------------------------------+---------+---------+--------------------------+---------------------+----------------+-------------------+
| 172.16.0.130:8801 | [ViewID:16 EpochID:1]@LEADER   | RUNNING | ON      | state:[NONE]?            | [ALIVE] [READWRITE] | [true/true]    | 172.16.0.130:8801 |
|                   |                                |         |         | LastError:               |                     |                |                   |
+-------------------+--------------------------------+---------+---------+--------------------------+---------------------+----------------+-------------------+
操作完成過6s后,有最初的都是read_only變成了一個(gè)[READONLY和一個(gè)READWRITE

同時(shí)服務(wù)IP172.16.0.100地址綁定到了10.0.0.130 的機(jī)器上

[mysql@mgr01 xenon]$ ip a|grep 172.16.0.100
    inet 172.16.0.100/16 scope global eth0

通過服務(wù)ip登錄mysql,然后創(chuàng)建測(cè)試庫(kù):

[mysql@mgr01 xenon]$ mysql -ucodeuser -h272.16.0.100 -p'rrtestjianwei' -e "create database test03;show databases;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test01             |
| test02             |
| test03             |
+--------------------+
[mysql@mgr01 xenon]$ 

第三、xenon管理mysql一主一從故障演示

進(jìn)行故障演示,kill 掉主庫(kù),嘗試通過服務(wù)ip連接庫(kù),大約25s才能鏈接成功主庫(kù),然后在連接后的新主庫(kù)進(jìn)行刪除數(shù)據(jù)
主庫(kù)切換在25s就可以完成

進(jìn)行故障演示,
1.登錄master庫(kù),執(zhí)行shutdown關(guān)掉主庫(kù),嘗試通過服務(wù)ip連接庫(kù),大約17s到20s才能重新綁定服務(wù)ip到master庫(kù)的機(jī)器網(wǎng)卡上,然后通過這個(gè)服務(wù)ip成功連接主庫(kù),然后就可以操作對(duì)數(shù)據(jù)庫(kù)的進(jìn)行查看,寫入,更新數(shù)據(jù)了
(物理服務(wù)器多次測(cè)試得出的)

2.登錄master庫(kù)的服務(wù)器,kill -9 掉mysql的進(jìn)程, 然后master機(jī)器上的xenon會(huì)在4s到11s內(nèi)自動(dòng)把master機(jī)器的mysql服務(wù)拉起來,然后在綁定服務(wù)ip到master的網(wǎng)卡上,然后通過這個(gè)服務(wù)ip成功連接主庫(kù),就可以操作對(duì)數(shù)據(jù)庫(kù)的進(jìn)行查看,寫入,更新數(shù)據(jù)了
(物理服務(wù)器多次測(cè)試得出的)

3..登錄master庫(kù)的服務(wù)器,移走數(shù)據(jù)目錄data,關(guān)閉master庫(kù)的mysql服務(wù),此時(shí)雖然經(jīng)過1m分鐘左右服務(wù)ip已經(jīng)飄到另外一臺(tái)mysql,但是此時(shí),這個(gè)庫(kù)只能讀,不行寫。寫入時(shí)會(huì)夯筑 (物理服務(wù)器多次測(cè)試得出的)

4.如果只是shutdown關(guān)閉slave庫(kù)的話,通過服務(wù)ip地址遠(yuǎn)程寫入一條記錄然后在關(guān)閉此mysql實(shí)例;
命令如下:

[root@slavedb 3306]# mysql -ucodeuser -h292.168.1.100 -p'rrtestjianwei' -e "INSERT INTO test01.test1(username,password,create_time) values('tomcat', 'xiaohuahua',now());"; mysql -e "shutdown;

在執(zhí)行完shutdown命令后,然后立刻執(zhí)行下面的插入記錄的命令:

mysql -ucodeuser -h292.168.1.100 -p'rrtestjianwei' -e "INSERT INTO test01.test1(username,password,create_time) values('tomcat', 'xiaohuahua',now());"

此時(shí)會(huì)夯筑,連續(xù)執(zhí)行多次的話都不行,持續(xù)的時(shí)間在10-15s,才可以正常寫入,但是此時(shí)相同的記錄會(huì)被寫入2次到master庫(kù)上。(物理服務(wù)器多次測(cè)試得出的)
如下:

| 31 | tomcat   | xiaohuahua | 2019-12-12 17:20:11 |
| 32 | tomcat   | xiaohuahua | 2019-12-12 17:23:28 |
| 33 | tomcat   | xiaohuahua | 2019-12-12 17:23:28 |
| 34 | tomcat   | xiaohuahua | 2019-12-12 17:23:38 |
| 35 | tomcat   | xiaohuahua | 2019-12-12 17:23:40 |
| 36 | tomcat   | xiaohuahua | 2019-12-12 17:25:32 |
| 37 | tomcat   | xiaohuahua | 2019-12-12 17:25:32 |
| 38 | tomcat   | xiaohuahua | 2019-12-12 17:25:45 |
+----+----------+------------+---------------------+

5.如果把slave庫(kù)的data目錄移走,通過服務(wù)ip地址遠(yuǎn)程寫入一條記錄然后在關(guān)閉此mysql實(shí)例;
命令如下:

[root@slavedb ~]#  mv data data_bak
[root@slavedb 3306]# ls
binlog  data_bak  logs  my.cnf  tmp
[root@slavedb ~]# mysql -ucodeuser -h292.168.1.100 -p'rrtestjianwei' -e "INSERT INTO test01.test1(username,password,create_time)values('tomcat', 'xiaohuahua',now());";mysql -e "shutdown;"
[mysql@localhost xenon]$ mysql -ucodeuser -h292.168.1.100 -p'rrtestjianwei' -e "INSERT INTO test01.test1(username,password,create_time) values('tomcat', 'xiaohuahua',now());"

持續(xù)的夯筑時(shí)間在10-15s之間,才可以正常寫入,但是此時(shí)相同的記錄會(huì)被寫入2次到master庫(kù)上。(物理服務(wù)器多次測(cè)試得出的)

 39 | tomcat   | xiaohuahua | 2019-12-12 17:37:31 |
| 40 | tomcat   | xiaohuahua | 2019-12-12 17:37:31 |
| 41 | tomcat   | xiaohuahua | 2019-12-12 17:37:42 |
| 42 | tomcat   | xiaohuahua | 2019-12-12 17:37:43 |
+----+----------+------------+---------------------+
42 rows in set (0.00 sec)

創(chuàng)建測(cè)試表,插入測(cè)試語句:

CREATE TABLE `test1` (
`id` int(8) NOT NULL AUTO_INCREMENT, 
`username` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`password` varchar(20) COLLATE utf8_unicode_ci NOT NULL, 
`create_time` varchar(20) COLLATE utf8_unicode_ci NOT NULL, 
PRIMARY KEY (`id`) #主鍵ID
) ENGINE=innodb AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO test1(username,password,create_time) values('tomcat', 'xiaohuahua',now());
INSERT INTO test1(username,password,create_time) values('tomcat', 'xiaohuahua',now());

下面是dellR620物理機(jī)器上配置命令:


 /data/xenon/bin/xenon -c /etc/xenon/xenon.json > /data/xenon/xenon.log 2>&1 &
 /data/xenon/bin/xenoncli cluster status
 /data/xenon/bin/xenoncli cluster add 192.168.1.39:8801,192.168.1.182:8801
  /data/xenon/bin/xenoncli cluster remove 192.168.1.105:8801
 sudo /usr/sbin/ip a a 192.168.1.100/32 dev em3 && arping -c 3 -A  192.168.1.100  -I em3

 sudo /usr/sbin/ip a d 192.168.1.100/32 dev em3

下面是dellR620物理機(jī)器上創(chuàng)建數(shù)據(jù)庫(kù)賬戶的命令:

grant replication slave on *.* to repl@'192.168.1.%' identified by 'repl4slave'; flush privileges;
grant all on *.* to root@'127.0.0.1' identified by 'rrtestjianwei';flush privileges;
grant all on *.* to codeuser@'192.168.1.%' identified by 'rrtestjianwei';flush privileges;

下面是dellR620物理機(jī)器上其中一臺(tái)的xenon.json配置文件內(nèi)容 :


[root@slavedb ~]# cat /etc/xenon/xenon.json 
{
    "server":
    {
        "endpoint":"192.168.1.39:8801"
    },

    "raft":
    {
        "meta-datadir":"raft.meta",
        "heartbeat-timeout":1000,
        "election-timeout":3000,
        "leader-start-command":"sudo /usr/sbin/ip a a 192.168.1.100/32 dev em3 && arping -c 3 -A  192.168.1.100  -I em3",
        "leader-stop-command":"sudo /usr/sbin/ip a d 192.168.1.100/32 dev em3"
    },

    "mysql":
    {
        "admin":"root",
        "passwd":"rrtestjianwei",
        "host":"127.0.0.1",
        "port":3306,
        "basedir":"/usr/local/mysql",
        "defaults-file":"/data/mysql/3306/my.cnf",
        "ping-timeout":1000,
        "master-sysvars":"super_read_only=0;read_only=0;sync_binlog=default;innodb_flush_log_at_trx_commit=default",
        "slave-sysvars": "super_read_only=1;read_only=1;sync_binlog=1000;innodb_flush_log_at_trx_commit=2"
    },

    "replication":
    {
        "user":"repl",
        "passwd":"repl4slave"
    },

    "backup":
    {
        "ssh-host":"192.168.1.39",
        "ssh-user":"mysql",
        "ssh-passwd":"rrtestjianwei669",
        "ssh-port":22,
        "backupdir":"/data/mysql/3306/data",
        "xtrabackup-bindir":"/usr/bin",
        "backup-iops-limits":100000,
        "backup-use-memory": "1GB",
        "backup-parallel": 2
    },

    "rpc":
    {
        "request-timeout":500
    },

    "log":
    {
        "level":"INFO"
    }
}

以上是簡(jiǎn)單的介紹演示,記錄在此,方便自己查閱,也希望可以幫助有需要的網(wǎng)友們

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI