[译] 记一次 MySQL Galera 集群的小版本升级

[译] 记一次 MySQL Galera 集群的小版本升级

严少安 Lv.6

原文地址:https://galeracluster.com/2022/01/minor-version-upgrade-of-a-galera-cluster-for-mysql/
原文作者:galeracluster.com

最近,我们遇到了一个关于如何执行Galera集群小版本升级的问题,今天我们只想说它是相当简单的。虽然升级是Galera管理器 的一个特性,我们很高兴看到即将它到来,今天,在命令行上手动完成它是非常简单的! 在这篇文章中,我们将升级一个9节点的集群,从MySQL 8.0.23升级到8.0.26。 我们也有大量的文档: 升级Galera集群

我们在新加坡、伦敦和旧金山分别有三个节点,共9个节点组成的集群,我们可以通过执行show status like 'wsrep_cluster_size';来确认它。

由于我们在CentOS 7上通过向配置中添加YUM仓库,并使用RPM包管理器来安装的,所以我们只需执行yum -y update。当然,我们计划先升级旧金山的三个节点,逐个节点升级(如滚动升级),这样就不会同时有多个节点停机。然后我们在伦敦重复这一过程,最后是新加坡。只要按计划升级,顺序并不重要。这次升级的过程中,并没有停止事务,就是说,数据库持续提供服务。

yum update所做的就是为我们安装MySQL和Galera wsrep provider,由于我们不打算更改配置文件,我们只需让程序自动运行。RPM包中有一些钩子,可以确保自动运行mysql_upgrade

当然,在升级过程中,我们能看到集群大小会暂时从9个节点减少到8个节点,但这是意料之中的。升级过程中,需要确保gcache配置的足够大,但仍可能出现 IST

可以用下面这些查询语句来验证所有节点均已更新:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.23 |
+-----------+
1 row in set (0.00 sec)


mysql> show status like 'wsrep_cluster_size';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 9 |
+--------------------+-------+
1 row in set (0.00 sec)

Updating : mysql-wsrep-server-8.0.26- [###################### ] 67/258
Cleanup : mysql-wsrep-common-8.0.23-26.6.el7.x86_64 240/258


mysql> show status like 'wsrep_cluster_size';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 8 |
+--------------------+-------+
1 row in set (0.01 sec)

mysql> select * from mysql.wsrep_cluster_members;
+--------------------------------------+--------------------------------------+--------------+-----------------------+
| node_uuid | cluster_uuid | node_name | node_incoming_address |
+--------------------------------------+--------------------------------------+--------------+-----------------------+
| 10ff4e95-dfd8-11eb-9cd8-7ed190657de9 | d04a1319-d89d-11eb-86c2-3fe756007e90 | galerasf-03 | AUTO |
| 113a4bb9-8010-11ec-bbe1-c38d9738c824 | d04a1319-d89d-11eb-86c2-3fe756007e90 | galerasf-02 | AUTO |
| 4d13b29e-dfcd-11eb-8108-133e852022df | d04a1319-d89d-11eb-86c2-3fe756007e90 | galera-03 | AUTO |
| 4ec352d5-e00a-11eb-93c3-4746e95e5d89 | d04a1319-d89d-11eb-86c2-3fe756007e90 | galerasf | AUTO |
| 6644b74f-dfcd-11eb-82cf-ca20c5363b91 | d04a1319-d89d-11eb-86c2-3fe756007e90 | galera-02 | AUTO |
| 7a7edaa1-dfcd-11eb-b5e1-23b77330d3d5 | d04a1319-d89d-11eb-86c2-3fe756007e90 | galera | AUTO |
| a5cc9925-dfd7-11eb-9831-b76bc19aa3a4 | d04a1319-d89d-11eb-86c2-3fe756007e90 | galeralon-02 | AUTO |
| c0078cbd-dfd7-11eb-8877-7e671c4d3a89 | d04a1319-d89d-11eb-86c2-3fe756007e90 | galeralon-03 | AUTO |
| e7fe42fd-dfce-11eb-9675-36d358e01b8d | d04a1319-d89d-11eb-86c2-3fe756007e90 | galeralon | AUTO |
+--------------------------------------+--------------------------------------+--------------+-----------------------+
9 rows in set (0.00 sec)

现在您会发现,只要您使用包管理,一次小版本升级真的很简单。而且升级过程中不需要停机。

  • Title: [译] 记一次 MySQL Galera 集群的小版本升级
  • Author: 严少安
  • Created at: 2022-03-10 22:03:59
  • Updated at: 2022-03-10 22:03:59
  • Link: https://shawnyan.cn/2022/mysql/fanyi-minor-version-upgrade-of-a-galera-cluster-for-mysql/
  • License: This work is licensed under CC BY-NC-SA 4.0.
if (hexo-config('comment.enable') == true && hexo-config('comment.system') != "") { if (hexo-config('comment.system') == "waline") { @require "./waline.styl" } else if (hexo-config('comment.system') == "gitalk") { @require "./gitalk.styl" } else if (hexo-config('comment.system') == "twikoo") { @require "./twikoo.styl" } } .comments-container display inline-block margin-top $spacing-unit width 100% #comment-anchor width 100% height 10px .comment-area-title width 100% margin 10px 0 font-size 1.38rem color var(--default-text-color) font-family 'Consolas', '宋体', sans-serif font-weight bold i color var(--default-text-color) +redefine-tablet() margin 5px 0 font-size 1.2rem
On this page