日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql读写分离_MySQL基于amoeba读写分离实验

發(fā)布時間:2023/12/20 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql读写分离_MySQL基于amoeba读写分离实验 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

===========================================
主從復制只是一個同步數(shù)據(jù)的方式
讀寫分離:只在主的上面寫,只在從的上面讀
讀寫分離方案:【1】基于程序代碼內(nèi)部 (生產(chǎn)環(huán)境中應用最廣泛,性能最好,需要開發(fā)人員來實現(xiàn))
【2】基于中間代理層的實現(xiàn)
amoeda 是阿里巴巴使用的產(chǎn)品
===========================================
實驗要求
5臺機器
web服務器 1臺 :192.168.200.66
amoeba 服務器一臺:192.168.200.67
數(shù)據(jù)庫3臺
數(shù)據(jù)庫A :192.168.200.68 (mysql主服務器)
數(shù)據(jù)庫B :192.168.200.69 (mysql從服務器)
數(shù)據(jù)庫C :192.168.200.70 (mysql從服務器)
===========================================
amoeba :67
chmod +x jdk-6u31-linux-x64.bin
./jdk-6u31-linux-x64.bin
mv jdk1.6.0_31/ /usr/local/jdk1.6
安裝amoeba 不僅需要amoeba軟件包還需要有jdk-6u31-linux-x64.bin
/amoeba 軟件是基于jdk1.5版本開始的。
ls
mv jdk1.6.0_14/ /usr/local/jdk1.6
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH=$PATH:$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$HOME/bin

export AMOEBA_HOME=/usr/local/amoeda
export PATH=$PATH:$AMOEBA_HOME/bin
保存退出
source /etc/profile
java -version
rm -rf /usr/bin/java
source /etc/profile
java -version
mkdir /usr/local/amoeba
tar xf amoeba........tat.gz -C /usr/local/amoeba
chmod -R 755 /usr/local/amoeba
---------------------------------------------
3臺數(shù)據(jù)庫服務器都要做授權(quán),讓amoeba可以進行訪問
grant all on *.* to 'test'@'192.168.200.%' identified by '123.com'; //用戶名是test 密碼是123.com
flush privileges;
----------------------------------------------
修改amoeba的配置文件
主機amoeba 67 操作
cd /usr/local/amoeba/
ls
cd conf
ls
cp amoeba.xml{,.bak}
vim amoeba.xml //修改30行左右的文件內(nèi)容amoeba123456 //指定客戶端連接時的用戶名和密碼
///115行左右master
去掉以下兩行的注釋master //寫交合主 slaves //讀交給從slaves是從的組,里面包含slave1和slave2
保存退出
cp dbServers.xml{,.bak}
vim dbServers.xml //找到以下內(nèi)容進行修改test
/去掉注釋的mysql password 改為以下內(nèi)容123.com
找到dbServer192.168.200.68

192.168.200.69192.168.200.70
聲明slaves組 找到以下內(nèi)容1slave1,slave2
保存退出
cd
nohup /usr/local/amoeba/bin/amoeba start & ///不依賴于任何終端,放到后臺執(zhí)行
netstat -lnpt //查看端口是否開啟
注意:cat nohup.out
ps aux |grep amoeba //查看端口8066
---------------------------------------------------------------------------
web 服務器66
yum -y install mariadb
mysql -u amoeba -p123456 -h 192.168.200.67 -p 8066 //客戶機做連接
=====測試amoeba是否能進行讀寫分離=========
【1】在數(shù)據(jù)庫主服務器上創(chuàng)建
create database db_test;
use db_test;
create table student(id int(10),name varchar(10),address varchar(20));
show databases;
【2】在兩臺數(shù)據(jù)庫從服務器上進行檢測,看是否同步
show databases;
【3】先把兩臺數(shù)據(jù)庫從服務器的復制功能停止
stop slave;
【4】在主數(shù)據(jù)庫中插入數(shù)據(jù)
insert into student values('1','crushlinux','this_is_master');
【5】在slave1 slave2中分別插入以下數(shù)據(jù)
-----slave1
use db_test;
insert into student values('2','crushlinux','this_is_slave1');
-----slave2
use db_test;
insert into student values('3','crushlinux','this_is_slave2');
【6】web客戶端查詢測試
use db_test;
select * from student;
///測試結(jié)果是能夠看到里面內(nèi)容是輪詢的。 而且只能看到從數(shù)據(jù)庫上面的內(nèi)容。
【7】web客戶端插入數(shù)據(jù)
use db_test;
insert into student values('4','crushlinux','this_is_web');
【8】web客戶端檢查
use db_test;
select * from student;
【9】主數(shù)據(jù)庫中查看是否有4的數(shù)據(jù)
use db_test;
select * from student;
【10】開啟兩臺從數(shù)據(jù)庫的主從復制功能
start slave;
show slave status; //查看是否開啟
【11】在web客戶端查看
use db_test;
select * from student; //會看到124 或者134 的數(shù)據(jù)
在插入一條數(shù)據(jù)
insert into student values('5','crushlinux','this_is_web');
///結(jié)果是1245或者是1345 總之,從服務器的數(shù)據(jù)不會同時出現(xiàn)。
===========完成!!!!!!!===========

總結(jié)

以上是生活随笔為你收集整理的mysql读写分离_MySQL基于amoeba读写分离实验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。