搭建mysql负载均衡及高可用环境(五)

2014-11-24 10:40:12 · 作者: · 浏览: 2
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
1 row in set (0.00 sec)
#主要就是看 Slave_IO_Running,Slave_SQL_Running
#这里错误的话,多数情况是 Slave_IO_Running 的问题,防火墙,用户权限,日志是否有启用等都需要判断;
=====================================================================
=====================================================================
#至此 mysql 双主互备搭建完成,我们的全部实验规划也全部完成;
#进入全面测试阶段;
#在 server1 的DB1里新建一张表,并赋值
>use db1;
>create table mywait(name char(9),phone char(14));
>insert into mywait(name,phone) values('wait',15888888888);
#新建一个具有 db1 权限的用户
grant all on db1.* to diaosi2@'%' identified by '123456';
>flush privileges;
#切换到 test 库,在mywait 表中插入一条数据;
use test;
insert into mywait(name,phone) values ('diaosi',15002839961);
#在 server2做验证;
>use db1;
>show tables;
>select * from mywait;
#此时数据与 server1 的会数据一致,表示mysql同步成功;
select user,host,password from mysql.user;
#在 server1 创建的用户也会被 server2 所同步;
#select * from test.mywait
#可以看到 server1上的 test 库并没有被同步;
#客户机上测试
mysql -udiaosi2 -p123456 -h 192.168.5.111 -e "select * from db1.mywait;"
#完毕;
=======================================================
#存在的问题;
在做mysql_chke 脚本时,本打算使用检查进程的形式判断服务是否启动;
`ps -C mysqld --no-header | wc -l`
当检查mysql 进程不存在的时候,先试着启动一次mysqld ,然后再检测,如果还是启动不了服务,再结束 keepalived ;
但是在使用 /etc/rc.d/init.d/mysqld start 启动后,出现一些问题;
比如mysql 配置文件错误或是注销用户等,mysql服务已然起不来了,虽然手动起不来服务;
但使用 ps -C mysqld 还是可以检查出一条mysqld 的进程来,这是什么情况没弄明白,希望能得到指点;
可优化项,haproxy 的功能很多,可以做成基于权重的分配方式,或是根据访问地址的,甚至可以使用 cookie 做判断;
大家都可以多测试一下;
有些地方是需要在两台服务器上同时配置的,大家看的时候多留意一下,测试过程中多看日志是最好的排错方式;
#ip a | ip addr | ip address 效果是一样的;