设为首页 收藏本站
查看: 1186|回复: 0

[经验分享] mysql fabric基础测试

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-25 08:55:16 | 显示全部楼层 |阅读模式

IP规划

主:192.168.1.2,

从:192.168.1.4,

管理主机:192.168.1.5

管理主机要安装mysql-connector-python和mysql-utilities



Mysql-python连接器下载地址:http://dev.mysql.com/downloads/connector/python/
rpm -ivh mysql-connector-python-2.0.4-1.el6.src.rpm

# wget -c http://dev.mysql.com/get/Downloa ... utilities-1.5.3.zip
# unzip mysql-utilities-1.5.3.zip
# cd mysql-utilities-1.5.3
# python ./setup.py build
# python ./setup.py install



在三台数据库执行
GRANT ALL ON fabric.* TO fabric@'%' IDENTIFIED BY 'fabric@123';
FLUSH PRIVILEGES;

在管理主机执行
vi /etc/mysql/fabric.cfg
[DEFAULT]
prefix =
sysconfdir = /etc
logdir = /var/log

[statistics]
prune_time = 3600

[logging]
url = file:///var/log/fabric.log
level = INFO

[storage]
auth_plugin = mysql_native_password
database = fabric
user = fabric
address = localhost:3306
connection_delay = 1
connection_timeout = 6
password = fabric@123
connection_attempts = 6

[failure_tracking]
notification_interval = 60
notification_clients = 50
detection_timeout = 1
detection_interval = 6
notifications = 300
detections = 3
failover_interval = 0
prune_time = 3600

[servers]
password = fabric@123
user = fabric
unreachable_timeout = 5

[connector]
ttl = 1

[client]
password =

[protocol.xmlrpc]
disable_authentication = no
ssl_cert =
realm = MySQL Fabric
ssl_key =
ssl_ca =
threads = 5
user = admin
address = localhost:32274
password =

[executor]
executors = 5

[sharding]
prune_limit = 10000
mysqldump_program = /usr/bin/mysqldump
mysqlclient_program = /usr/bin/mysql

[protocol.mysql]
disable_authentication = no
ssl_cert =
ssl_key =
ssl_ca =
user = admin
address = localhost:32275
password = abc123

填充Backing Store信息

我们通过执行以下命令来生成fabric数据库,具体如下:

mysqlfabric manage setup --param=storage.user=fabric
Finishing initial setup
=======================
Password for admin user is not yet set.
Password for admin/xmlrpc:
Repeat Password:
Password set.
Password set.
No result returned
管理密码设置为admin

填加HA组的成员
mysqlfabric group add mygroup 192.168.1.2:3306
wKiom1YDtwSx5rgwAADmIxxF2gM218.jpg
因为binlog已经配置了,怀疑是gtid没有配置的问题,传统的主从复制机制已经不适合这个应用场景
现在配置gtid
在主库配置,注意主从的server-id不能一样
在my.cnf添加
gtid_mode=ON
log-bin
log-slave-updates
enforce-gtid-consistency

执行命令
grant replication slave,replication client on *.* to slave@'%'identified by 'itvgd123';
flush privileges
再从库上配置
gtid_mode=ON
log-bin
log-slave-updates
enforce-gtid-consistency

执行命令
change master to master_host='192.168.1.2', master_user='slave',master_password='itvgd123', master_auto_position=1;
flush privileges;
start slave;
show slave status \G;
配置了gtid主从后该报错消失
再次添加节点
wKioL1YDt17iIPKKAADXSyDEYfo332.jpg

根据报错信息百度不出结果,用天行浏览器谷歌,找到
http://fossies.org/linux/mysql-utilities/mysql/fabric/server.py

找到mysql-utilities的源码了
初步看了下

wKiom1YDt7rDk9MJAAC3fBTX2kU644.jpg
猜测和mysql 的uuid有关,猛然想起,几个数据库是拷贝过去的,改了uuid后重新提添加,添加成功
mysqlfabric group add mygroup 192.168.1.2:3306

wKiom1YDuAbD6iv5AAGtg2z62n4050.jpg


mysqlfabric group lookup_servers mygroup查看组成员信息
wKioL1YDuIWAVOdyAALCUSQ0ZzI687.jpg
选举一个主库
mysqlfabric group promote mygroup

wKioL1YDuNyyP7dFAAV1b65tsEE443.jpg

激活故障自动切换

mysqlfabric group activate mygroup

切换测试
现在192.168.1.2是从库,192.168.1.4是主库
现在我们把192.168.1.4停掉
service mysqld stop
查看mysql集群状态
mysqlfabric group lookup_servers mygroup

wKioL1YDuSDT-PDQAAKPEneenpQ235.jpg


我们看到192.168.1.4已经被认为处于失败状态,192.168.1.2已经被提升为主库
现在把192.168.1.4开起来

wKiom1YDuVbzWXWrAAFL4xJ3I14734.jpg

可见即便是192.168.1.4重新启动他的转态依然不会改回原先正常的转态
需要手动修改他的状态
mysqlfabric server set_status aca4f313-59a1-11e5-95ff-000c29397430 spare

wKiom1YDuZHB41ErAAMIi0Ft8_I551.jpg

再次修改状态
mysqlfabric server set_status aca4f313-59a1-11e5-95ff-000c29397430 secondary

wKiom1YDudXwgzH0AAFbI0EL0Lo706.jpg

常用相关命令

mysqlfabricgroup create mygroup          #创建HA组

mysqlfabricgroup destroy mygroup        #删除HA组

mysqlfabricgroup add mygroup 192.168.247.132:3306     #添加组成员

mysqlfabricgroup remove mygroup c505ce10-9bc0-11e4-bfd4-000c290e7abe   #移出组成员

mysqlfabricgroup lookup_servers mygroup  #查看组成员

mysqlfabricgroup promote mygroup      #选举master

mysqlfabric groupactivate mygroup        #激活自动故障转移

mysqlfabric group deactivatemygroup           #禁用自动故障转移

mysqlfabric serverset_status server_uuid status #变更服务器状态

mysqlfabrichelp manage   #manage命令帮助

mysqlfabrichelp group     #group命令帮助

mysqlfabrichelp server      #server命令帮助


总结:HA支持的状态值为primary,secondary,spare,faulty。它在HA组中的状态不会自动恢复,需要手动改变服务器状态。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-118440-1-1.html 上篇帖子: amoeba配置 下篇帖子: innobackupex命令对mysql数据库进行完全和增量备份 fabric mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表