node 版本升级_PXC版本升级(从5.6到5.7)

“滚动升级”意味着在升级过程中无需关闭整个集群,不影响业务。

跨版本升级(从5.6到5.7版本)和小版本升级(从5.7.x到5.7.y)都可以这样做。

不支持从早于5.6的版本升级到5.7。因此,如果您运行的是Percona XtraDB集群版本5.5,建议关闭所有节点,然后从头删除并重新创建群集。或者,您可以执行从PXC 5.5到5.6的滚动升级,然后从5.6至5.7的滚动升级。

一 试验环境

315c419268ed0d28462288be5dbced9a.png

二 试验步骤

2.1 升级第一个节点

2.1.1 确保所有节点已同步(synchronized)

在每个节点上执行:

mysql> show status like 'wsrep_local_state_comment';

+---------------------------+--------+

| Variable_name | Value |

+---------------------------+--------+

| wsrep_local_state_comment | Synced |

+---------------------------+--------+

2.1.2 停止mysql服务

service mysql stop

在其他节点上插入两条数据,看升级完毕后数据库是否会同步到该节点上。

2.1.3 卸载已经存在的Percona XtraDB Cluster and Percona XtraBackup packages, 然后安装Percona XtraDB Cluster version 5.7 packages

yum remove percona-xtrabackup* Percona-XtraDB-Cluster* -y

/*

如果卸载的时候报错:

No Match for argument: Percona-XtraDB-Cluster-5.7.28-rel31-31.41.1.Linux.x86_64.ssl101.tar.gz

可尝试一个个remove,示例:

[root@pc1 download]# rpm -qa | grep Per

Percona-XtraDB-Cluster-client-56-5.6.46-28.38.1.el6.x86_64

Percona-Server-shared-51-5.1.73-rel14.12.625.rhel6.x86_64

Percona-XtraDB-Cluster-shared-56-5.6.46-28.38.1.el6.x86_64

Percona-XtraDB-Cluster-server-56-5.6.46-28.38.1.el6.x86_64

Percona-XtraDB-Cluster-galera-3-3.38-1.el6.x86_64

Percona-XtraDB-Cluster-56-5.6.46-28.38.1.el6.x86_64

yum remove Percona-XtraDB-Cluster-client-56-5.6.46-28.38.1.el6.x86_64

……

*/

yum install Percona-XtraDB-Cluster-57 -y

2.1.4 备份grastate.dat

以便在它因网络问题而损坏或归零时恢复它。

cd /var/lib/mysql

cp grastate.dat grastate.dat_bak

2.1.5 以单实例模式启动该节点

mysqld --skip-grant-tables --skip-networking --user=mysql --wsrep-provider='none'

#检查数据库是否启动

[root@pc2 ~]# ps -ef | grep mysql

mysql 3930 3858 15 13:33 pts/1 00:00:01 mysqld --skip-grant-tables --skip-networking --user=mysql --wsrep-provider=none

2.1.6 执行mysql_upgrade

新打开一个会话,执行:mysql_upgrade

……

Upgrade process completed successfully.

Checking if update is needed.

2.1.7 关闭数据库

mysqladmin shutdown或kill掉mysql进程

2.1.8 重命名配置文件

在CentOS上,my.cnf配置文件可能会被重命名为my.cnf.rpmsave。所以,需要检查下my.cnf,my.cnf.rpmsave文件内容,需要的话,将升级后的节点重新加入群集之前将其重命名回来。

cd /etc

mv my.cnf.rpmsave my.cnf

2.1.9 将升级后的节点加入到集群里

service mysql start

/*

如果数据库起不来,报错:ERROR! MySQL (Percona XtraDB Cluster) is not running, but PID file exists

可尝试根据其他节点的配置文件,新建下my.cnf,注意需要修改wsrep_node_name及wsrep_node_address的值

*/

2.1.10 检查数据同步情况

检查之前插入的两条数据是否同步到了该节点上。

新插入两条数据,再次检查数据同步情况。

检查集群状态:

2.1.11 检查数据库版本

mysql> select @@version;

+----------------+

| @@version |

+----------------+

| 5.7.28-31-57.2 |

+----------------+

1 row in set (0.00 sec)

2.2 对群集中的下一个节点重复2.1步骤,直到升级所有节点

注意:

节点在重新连接集群时,应该使用IST进行同步。为此,最好不要离开群集节点太长时间。

当执行任何升级时,如果服务器已脱机一段时间,可以使用SST进行同步。SST完成后,需要再一次升级数据目录结构(使用mysql_upgrade)确保与较新版本的二进制文件兼容:

① 停止mysql服务

service mysql stop

② mysqld --skip-grant-tables --skip-networking --user=mysql --wsrep-provider='none'

③ 执行mysql_upgrade

--本篇文章主要参考自PXC官方手册,该手册也介绍了怎样进行小版本升级(如5.7内的小版本升级)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值