總共四臺虛擬機,一臺應用端,一臺amoeba,一臺主服務器,一臺從服務器
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站建設、網(wǎng)站制作、衛(wèi)東網(wǎng)絡推廣、小程序開發(fā)、衛(wèi)東網(wǎng)絡營銷、衛(wèi)東企業(yè)策劃、衛(wèi)東品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供衛(wèi)東建站搭建服務,24小時服務熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
? 應用端:centos7-2(實驗前已裝MySQL)
? amoeba:centos7-1(無MySQL)
? 主服務器:centos7-3(實驗前已裝MySQL)
? 從服務器:centos7-4(實驗前已裝MySQL)
安裝時間同步服務
[root@master ~]# yum install ntp -y
#修改ntp配置文件
[root@master ~]# vim /etc/ntp.conf
server 127.127.195.0 //本地是時鐘源,195段落//
fudge 127.127.195.0 stratum 8 //設置時間層級為8//
###開啟服務
[root@master ~]# systemctl start ntpd
修改MySQL主配置文件
[root@master ~]# vim /etc/my.cnf
server-id 10
log-bin=zhu-bin
log-slave-updates=ture ##開啟主從同步
[root@master ~]# systemctl restart mysqld
[root@master ~]# systemctl stop firewalld
進入數(shù)據(jù)庫修改
[root@master ~]# mysql -u root -p
grant replication slave on *.* to 'myslave'@'192.168.142.%' identified by 'asd123';
#允許從服務器使用myslave賬戶在主服務器上進行復制操作
show master status; #查看主服務器信息
mysql> mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000005 | 868 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
安裝同步服務客戶端ntpd
[root@slave ~]# yum install ntp ntpdate -y
#開啟服務關防火墻
[root@slave ~]# systemctl start ntpd
[root@slave ~]# systemctl stop firewalld
##進行時間同步
[root@slave ~]# /usr/sbin/ntpdate 主服務器地址
修改MySQL主配置文件
[root@slave ~]# vim /etc/ntp.conf
server-id = 20
relay-log = relay-bin ###同步日志文件到本地
relay-log-index = slave-bin.index ##定義日志文件類型及名稱
[root@slave ~]# systemctl restart mysqld
進入數(shù)據(jù)庫修改
[root@slave ~]# mysql -u root -p123123
change master to master_host='192.168.142.135',master_user='myslave',master_password='asd123',master_log_file='mysql-bin.000005',master_log_pos=865;
##授予權限
start slave;
###查詢同步是否成功
show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Reconnecting after a failed master event read
Master_Host: 192.168.142.132
Master_User: myslave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 1633
Relay_Log_File: master1-relay-bin.000011
Relay_Log_Pos: 1126
Relay_Master_Log_File: mysql-bin.000004
Slave_IO_Running: Yes ##IO連接
Slave_SQL_Running: Yes ##SQL連接
......
PS:
? 有時候做主從同步時會遇見Slave_SQL_Running: NO
的問題,以下是解決方法:
####Slave_SQL_Running: No問題解決方案
MariaDB [(none)]> stop slave;
MariaDB [(none)]> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
MariaDB [(none)]> start slave;
MariaDB [(none)]> show slave status\G
以下實驗全部基于主從同步的基礎上進行
#總共四臺虛擬機,一臺應用端,一臺amoeba,一臺主服務器,一臺從服務器
? 應用端:centos7-2(有MySQL)
? amoeba:centos7-1(無MySQL)
? 主服務器:centos7-3(有MySQL)
? 從服務器:centos7-4(有MySQL)
安裝jdk環(huán)境(amoeba由java開發(fā))
[root@amoeba ~]# systemctl stop firewalld.service #關閉防火墻
[root@amoeba ~]# setenforce 0
[root@amoeba mnt]# cp -p jdk-6u14-linux-x64.bin /usr/local/ #移動事先準備好的jdk包
[root@amoeba mnt]# cd /usr/local/
[root@amoeba local]# ./jdk-6u14-linux-x64.bin #安裝jdk環(huán)境
[root@amoeba local]# mv jdk1.6.0_14/ jdk1.6
##配置jdk環(huán)境變量
[root@amoeba local]# vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin/:$PATH:$HOME/bin
export AMOEBA_HOME=/usr/local/amoeba
export PATH=$PATH:$AMOEBA_HOME/bin
[root@amoeba local]# source /etc/profile
解壓、安裝amoeba工具包
[root@amoeba local]# mkdir amoeba
[root@amoeba local]# tar zxf /mnt/amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba #解壓事先準備好的工具包
[root@amoeba local]# chmod -R 755 amoeba/ #賦予權限
##檢查是否安裝成功
[root@amoeba local]# /usr/local/amoeba/bin/amoeba
amoeba start|stop ##出現(xiàn)以下命令行即為成功
修改主配置文件amoeba.xml
[root@amoeba local]# vim amoeba/conf/amoeba.xml
##按照下圖進行修改
#(增加客戶機訪問amoeba的賬戶、密碼)
amoeba
123123
---------------------------------------------------------
#(開啟默認池、讀取池、寫入池)
master
master
slaves
修改amoeba有關數(shù)據(jù)庫的配置文件dbserver.xml
[root@amoeba local]# vim amoeba/conf/dbServers.xml
## 按照下圖進行修改
#(修改amoeba訪問節(jié)點服務器的賬戶、密碼)
test
asd123
-------------------------------------------------------------
#(指定主、從服務器節(jié)點地址)
192.168.142.132
192.168.142.136
--------------------------------------------------------------
#(將從服務器劃入讀取地址池中)
slave
返回主、從服務器數(shù)據(jù)庫中
##在主、從服務器上開放訪問權限
[root@slave ~]# mysql -u root -p123123 #進入主服務器數(shù)據(jù)庫(從服務器與主服務器操作相同)
grant all on *.* to test@'192.168.142.%'identified by 'asd123'; #開放test用戶訪問權限
開啟amoeba服務器
[root@amoeba conf]# /usr/local/amoeba/bin/amoeba start & #調(diào)入后臺持續(xù)運行
? 在安裝好MySQL的前提下,輸入mysql -u amoeba -p123123 -h 192.168.142.142 -P8066
即可成功訪問amoeba服務器。
? 此時,進行讀寫操作時將使用主服務器master進行寫入,使用從服務器slave進行讀取。