温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用MySQL Fabric实现高可用

发布时间:2021-10-27 16:55:47 来源:亿速云 阅读:463 作者:小新 栏目:MySQL数据库

这篇文章主要为大家展示了“如何使用MySQL Fabric实现高可用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用MySQL Fabric实现高可用”这篇文章吧。

一、 下载和安装 MySQL Fabric

  1. 从 http://dev.mysql.com/downloads/utilities/ 下载 MySQL Utilities 1.5 ,MySQL Fabric 是 MySQL Utilities 1.5 的一部分。

  2. 从 http://dev.mysql.com/downloads/connector/j/ 下载 java connector,5.1.30 和之后的版本支持 MySQL Fabric。

二、创建 MySQL 用户

需要为 MySQL Fabric 在每个 MySQL 实例上创建用户。在集群实例上创建用户过程中需要关闭 bin log,否则 MySQL Fabric 创建主从关系的时候会在 slave 上重新执行 master 中创建同一用户的操作而导致出错。以下示例中假设 MySQL Fabric 和 backing store 实例安装在同一台服务器中:

  1. 在 backing store 实例上创建 store user,将下面代码中的 fabric_store 和 secret_store 替换为合适的用户名和密码。

    CREATE USER 'fabric_store'@'localhost'
  2. 在每个集群实例上创建 server user,将下面代码中的 fabric_server 和 secret_server 替换为合适的用户名和密码。

    CREATE USER 'fabric_server'@'%'
  3. 在每个集群实例上创建 backup user,将下面代码中的 fabric_backup 和 secret_backup 替换为合适的用户名和密码。

    CREATE USER 'fabric_backup'@'%'
  4. 在每个集群实例上创建 restore user,将下面代码中的 fabric_restore 和 secret_restore 替换为合适的用户名和密码。

    CREATE USER 'fabric_restore'@'%'

三、 配置 MySQL

在每个集群实例中启用 gtid-mode, bin-log 和 log-slave-updates ,并确保所有集群实例的 server-id 都不重复。

[mysqld]

四、配置和初始化 MySQL Fabric

  1. 修改 /etc/mysql/fabric.cfg 中的 [storage] 和 [servers] 段,配置 store user, server user, backup user 和 restore user 的用户和密码。

    [storage]
  2. 执行 mysqlfabric manage setup 初始化 store server,执行过程中需要设置 admin/xmlrpc 的密码,这个密码是使用用户名 admin 访问 MySQL Fabric 时使用的密码。可以将这个密码配置到 fabric.cfg 中 [protocol.xmlrpc] 段的 password 中,否则后面每次执行 MySQL Fabric 命令都会提示输入这个密码。

五、启动和停止 MySQL Fabric

  1. 执行 mysqlfabric manage start 启动 MySQL Fabric。

  2. 执行 mysqlfabric manage stop 停止 MySQL Fabric。

六、创建服务器组

  1. 执行 mysqlfabric group create my_group 创建服务器组,其中 my_group 为组名。

  2. 执行 mysqlfabric group add my_group master_server:port 添加主服务器,其中master_server:port 为主服务器的 IP 和端口。

  3. 执行 mysqlfabric group promote my_group 将主服务器提升为服务器组的 master。

  4. 执行 mysqlfabric group add my_group slave_server:port 添加从服务器,其中slave_server:port 为从服务器的 IP 和端口,添加之后从服务器会自动同步主服务器上已经写入 bin log 的数据。

  5. 执行 mysqlfabric group activate my_group 激活故障自动切换。

mysqlfabric group lookup_servers ys_group

七、错误恢复

服务器出现故障之后,MySQL Fabric 中会将其标记为 FAULTY 状态,在服务器恢复之后状态不会自动恢复,需要人工将出错的服务器从组中移除再重新加入。

`shell>mysqlfabric group remove my_group server:port`

八、使用 Java connector 连接到 MySQL Fabric

以 Tomcat datasource 配置为例,从直接连接切换成通过 MySQL Fabric 连接 MySQL 只需修改driverClassName 和 url :

driverClassName="com.mysql.fabric.jdbc.FabricMySQLDriver"

其中 localhost:32274 是 MySQL Fabric 的服务地址,fabricUsername 和 fabricPassword 是 MySQL Fabric 的用户名和密码,database 是默认数据库名称,fabricServerGroup 是服务器组名称。

以上是“如何使用MySQL Fabric实现高可用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI