mysqlfailover--mysql官方自带高可用工具

要求:

1、mysql版本5.6.5以上

2、开启GTID模式

3、需要权限:

SHOW SLAVE STATUS   SHOW MASTER STATUS   STOP SLAVE   START SLAVE   WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS  CHANGE MASTER TO REPLICATE SLAVE SUPER  GRANT OPTION,  RELOAD, DROP, CREATE, INSERT ,SELECT

4、需要另外安装,需要在python2.6版本环境中

wget -c http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-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

mysqlfailover一些参数:

1、--failover-mode(转移模式) auto:执行故障自动转移到第一候选人。如果没有从可行的,继续从从列表中找到一个可行的候选者。 如果没有从被认为是一个可行的候选者,该程序将生成错误并退出。一旦候选者被发现,该程序将进行故障切换到最佳从上。 该命令测试每个候选从的先决条件。一旦候选从被选中,其他从作为它的从,收集其他从的任何事务交易。该方式,确保候选者是最新的从 elect:这种模式与aoto一样的,除了如果在指定的候选从列表中没有可行的,不检测剩余的从和产生错误并退出。 fail: 这种模式会产生一个错误,当主失败后不会进行故障转移。这种模式被用来只进行定期健康监测不进行故障切换。

2、--master=

设置MASTER服务器。格式:--master=用户名:密码@‘主机名’:端口号

3、--discover-slaves-login=

查询所有连接到MASTER的SLAVE端。格式: --discover-slaves-login=用户名:密码

4、--log=

日志文件。

my.cnf配置:

MASTER:

gtid_mode=ON
log-slave-updates=ON
enforce-gtid-consistency

master-info-repository = TABLE
relay-log-info-repository = TABLE
report_host=      #本机IP
report_port=      #本机端口

SLAVE:

slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=8
master_info_repository = TABLE
relay_log_info_repository = TABLE
gtid_mode=ON
log-slave-updates=ON
enforce-gtid-consistency
report_host=      #本机IP
report_port=      #本机端口

这里需要设置两个账号,一个用来作为监控切换的账号,需要all privileges权限。一个用来复制的账号,需要replication slave权限。

mysqlfailover --master=failover:123456@'192.168.1.100':13306 --discover-slaves-login=failover:123456

猜你喜欢

转载自www.cnblogs.com/magmell/p/9241923.html