GRANT ALL ON . TO test@'192.168.88.%'> FLUSH PRIVILEGES;
--------在前端服务器上----
cd /usr/local/amoeba
vi conf/amoeba.xml
---28行-----设置客户端连接amoeba前端服务器时使用的用户名和密码----
amoeba
----30行---------
123456
------------------------------------以上配置用于客户端连接用户名密码-------------
---83-去掉注释-同时把默认的server1改成master,把默认的servers改成 slaves
master
master
slaves
vi conf/dbServers.xml
--26-29--去掉注释--
test
123.com
------主服务器地址---
43
46 192.168.80.181
--50-从服务器主机名-
--53-从服务器地址-
192.168.80.182
----复制相关代码---
192.168.88.103192.168.88.104---以下两行修改------末尾--slave1,slave2-----------------------注意----------------------test //数据库中要有此处定义的数据库,否则客户端连接后会报如下错误:ERROR 1044 (42000): Could not create a validated object, cause: ValidateObject failed---------------------------------------service amoeba restartnetstat -anpt | grep java![]amoeba启动成功------------------------测试用客户端------ //可以在主mysql上做service firewalld stopsetenforce 0yum install -y mysqlmysql -u amoeba -p123456 -h 192.168.88.101 -P8066 //amoeba地址连接amoeba成功----在MASTER上新建的数据库或者里面的表,两台从服务器会同步--通过amoeba操作的---------mysql -u amoeba -p123456 -h 192.168.88.101 -P8066use test;create table zhang (id int(10),name varchar(10),address varchar(20));show tables; //三台数据库服务器上查看会是相同结果---在两台从上停止从服务后-----stop slave;----在主服务器上插入的内容不会同步-通过amoeba操作的--insert into zhang values('1','hahahha','this_is_master');----此时在从服务器1上新建内容----直接在从上操作use test;insert into zhang values('2','zhang','this_is_slave1');----从服务器2上新建内容----use test;insert into zhang values('3','zhang','this_is_slave2');------在客户端amoeba上测试----第一次会向从服务器1读数据-第二次会各从2读取select * from zhang;-------------在通过客户端连接数据库后写入的数据只有主会记录,然后同步给从-从服务器不会记录,从而实现了读写分离。----insert into zhang values('4','zhang','write_test');-----在客户端amoeba上看不到新插入的数据--因为同步没有开启-----只有主服务器上可以看到数据。select * from zhang;-----在客户端开启同步后,主服务器上数据会同步到各从服务器中,但是从服务器上自己增加的数据不会同步,只有本地保存---select * from zhang; //在客户端查看会看到主上同步过来的数据,以及自己本地增加的数据,但是看不到其它从上自己增加