===================================================================== #至此 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 效果是一样的; 这篇博客是我第一次写,有些粗糙,可能有些地方注释得还有错误,欢迎留言; 这社区里还有很多比较好的类似文章,大家可以参考着学习,这样效率更好,谢谢; 原文链接:http://my.oschina.net/wait716/blog/170902 |
|