MySQL集群升级从5.5版本升级到10.*以上版本(CentOS7.5 MariaDB集群升级)

最近由于数据库迁移合并原因,导致集群数据库版本不兼容现有数据库,因此打算升级MySQL集群数据库版本从5.5升级到10.4

硬件信息:CentOS Linux release 7.5.1804 (Core) 

主数据库:172.16.116.40

从数据库:172.16.116.42、172.16.116.43

MySQL集群的搭建可以参考:CentOS7.5实现MySQL集群-主从服务器搭建(一主多从)

安装

安装过程在各个主从节点中都需要执行,安装前记得先备份数据库

修改存储器配置,以便系统软件包管理器能够正确安装MariaDB10

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

 

登录到数据库设置innodb_fast_shutdown到0。可以使用SET GLOBAL进行动态更改,

  • 设置为0:会做清除脏页和插入缓冲区的合并操作,也会将脏页全部刷新到磁盘上面去,但是这个时候关闭的速度也是最慢的,此时数据完整性能得到最大保障

  • 设置为1:关闭MySQL的时候不会做清除脏页和插入缓冲区的合并操作,也不会将脏页刷新到磁盘

  • 设置为2:不会做清除脏页和插入缓冲区的合并操作,也不会将脏页刷新到磁盘,但是会刷新到redo log里面,再下次启动mysql的时候恢复

 

mysql -uroot -p    # 登录数据库
SET GLOBAL innodb_fast_shutdown=0;    # 设置innodb_fast_shutdown
SHOW GLOBAL VARIABLES LIKE '%innodb_fast_shutdown%';    # 查看innodb_fast_shutdown

MySQL集群升级从5.5版本升级到10.*以上版本(CentOS7.5 MariaDB集群升级)_第1张图片

 

停止MariaDB

systemctl stop mariadb    # 关闭mariadb
systemctl status mariadb    # 查看mariadb状态

MySQL集群升级从5.5版本升级到10.*以上版本(CentOS7.5 MariaDB集群升级)_第2张图片

 

卸载旧版本MariaDB

sudo yum remove MariaDB-server

MySQL集群升级从5.5版本升级到10.*以上版本(CentOS7.5 MariaDB集群升级)_第3张图片

 

安装新版本的MariaDB,中途提示选y

sudo yum install MariaDB-server

MySQL集群升级从5.5版本升级到10.*以上版本(CentOS7.5 MariaDB集群升级)_第4张图片

 

此时集群相关的依赖程序(Galera wsrep)也会被安装

MySQL集群升级从5.5版本升级到10.*以上版本(CentOS7.5 MariaDB集群升级)_第5张图片

 

启动MariaDB,然后执行mysql_upgrade,此时需要选择--skip-write-binlog选项

  • 确保mysql数据库中的系统表与新版本完全兼容
  • 快速检查所有表并将其标记为与新版本的MariaDB兼容
systemctl start mariadb    # 启动mariadb
mysql_upgrade --skip-write-binlog --force -uroot -p    # 执行mysql_upgrade

此时系统会自动执行以下几个步骤,等待执行完成就好:

  1. Checking and upgrading mysql database
  2. Installing used storage engines:Checking for tables with unknown storage engine
  3. Fixing views
  4. Running 'mysql_fix_privilege_tables'
  5. Fixing table and database names
  6. Checking and upgrading tables
  7. Running 'FLUSH PRIVILEGES'

至此集群升级安装已完成,更多系统版本升级可参考:Upgrading from MariaDB Galera Cluster 5.5 to MariaDB Galera Cluster 10.0

 

恢复主从节点工作

在主服务器进入mysql,查看主节点状态,记住File和Position

show master status;

MySQL集群升级从5.5版本升级到10.*以上版本(CentOS7.5 MariaDB集群升级)_第6张图片

 

在从服务器进入mysql,停止并重置从节点,然后在从节点中配置主节点信息(保险每个从节点中都进行一下)

stop slave;    # 停止从节点
reset slave;    # 重置从节点
CHANGE MASTER TO
-> MASTER_HOST='172.16.116.40', # 主服务器ip
-> MASTER_USER='master', # 主服务器上创建的用户
-> MASTER_PASSWORD='你配置的主服务器密码', # 密码
-> MASTER_LOG_FILE='mysql-bin-40.000001', # 为master中的二进制日志文件,刚刚记住的File
-> MASTER_LOG_POS=565; # 刚刚记住的Position

MySQL集群升级从5.5版本升级到10.*以上版本(CentOS7.5 MariaDB集群升级)_第7张图片

你可能感兴趣的:(Centos,Mysql,Linux)