MySQL-NDB7.6集群软件升级
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL-NDB7.6集群软件升级,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4186字,纯文字阅读大概需要6分钟。
内容图文
![MySQL-NDB7.6集群软件升级](/upload/InfoBanner/zyjiaocheng/863/9a1086151744435ea344d5ef1202551a.jpg)
注意事项
-
由于磁盘文件格式发生改变,升级或降级到下面任一版本时,需要将每个数据节点重新初始化
- NDB 7.6.2中为NDB磁盘数据表引入了一种新的文件格式,这使得可以在不重复使用任何表ID的情况下唯一标识每个磁盘数据表。该格式在NDB 7.6.4中得到了进一步改进
- NDB 7.6.2
- NDB 7.6.4
- 应重新创建任何现有的表空间并撤消日志文件组
- 通过
--initial
在升级过程中对每个数据节点执行一次初始重启来完成此操作
- 通过
- NDB 7.6.2中为NDB磁盘数据表引入了一种新的文件格式,这使得可以在不重复使用任何表ID的情况下唯一标识每个磁盘数据表。该格式在NDB 7.6.4中得到了进一步改进
-
据内存池和动态索引内存
- 索引所需要的内存通过动态分配(内存值由DataMemory参数指定),因此不建议在config.ini文件中设置IndexMemory参数项
- 在特定的系统环境(如需要大量缓冲区,大量数据加载 等系统)中,需要指定SharedGlobalMemory参数,增加事务内存
软件升级流程
滚动升级(在线)
-
备份数据库
-
检查版本兼容性及新特性
-
滚动更新
-
先在每个SQL节点更新
-
(创建新config.ini文件)安装新版本软件
-
其次,在管理节点服务器上,执行
ndb_mgmd --reload
选项启动服务 -
然后,在每个数据节点执行ndb(or ndbmtd) 启动服务
- 启动时带上
--initial
选项:强制清除待升级数据节点上文件,并从其他数据节点重新加载所有NDB Cluster数据和元数据 - 通过ndb_mgm客户端执行start backup命令备份数据,升级软件后,使用ndb_restore将数据还原到一个或多个数据节点上
- 升级前使用mysqldump创建一个数据备份,升级后,通过
load data
的方式恢复数据mysqldump --no-data --triggers --routines <DB> > <DB>.sql
- 启动时带上
-
-
更新系统表
详细步骤(在线)
备份数据库
使用 ndb_mgm 客户端方式备份
ndb_mgm -e "START BACKUP"
# 还原 ndb_restore
## ndb_restore -n 1 -b 1 -r /path/to/BACKUP-1 -f --include-table='mysql.ndb_apply_status'
## ndb_restore -n 2 -b 1 -r /path/to/BACKUP-1 -f --include-table='mysql.ndb_apply_status'
从 mysql.ndb_binlog_index
中获取 binlog 信息
SELECT * FROM mysql.ndb_apply_status;
SELECT SUBSTRING_INDEX(File, '/', -1) AS Master_Log_File , Position AS Master_Log_Pos
FROM mysql.ndb_binlog_index WHERE epoch > 217458489163782 /* 上面查询得到的 epoch 的值 */
ORDER BY epoch ASC LIMIT 1;
-- CHANGE MASTER TO MASTER_LOG_FILE="master-bin.00001",MASTER_LOG_POS=305976;
备份将每个SQL节点的binlog日志文件
# 利用系统工具如:tar, scp等备份binlog日志文件
用mysqldump 工具备份权限表
通过mysqldump工具备份数据
mysqldump --no-data --triggers --routines --events mydb > schema_mydb.sql
检查软件的兼容性
- 检查 MysQL NDB Cluster 软件的兼容性
- 检查 MysQL NDB Cluster 软件变更历史
- 检查 MySQL Server 版本变更历史情况
滚动更新(每个节点)
- 停止节点上服务进程
- 替换相关二进制文件
- 用新版本软件启动节点上服务进程
更新SQL 节点
# 1. 关闭SQL节点
service stop mysqld3308
# 2. 更新软件 ndbd or ndbmtd
SOFT_FILE_NAME="mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64.tar.gz"
unlink ${SOFT_LINK_DIR}
tar -xf ${SOFT_FILE_NAME}.tar.gz --no-same-owner -C ${SOFT_INSTALL_DIR}
ln -s ${SOFT_INSTALL_DIR}/${SOFT_FILE_NAME} ${SOFT_LINK_DIR}
# 3. 启动服务
service start mysqld3308
更新管理节点
# 1. 关闭管理节点
## ndb_mgm -e "SHOW" -c <connect-string>
## ndb_mgm -e "<mgm-nodeid> STOP" -c <connect-string>
ndb_mgm -e "100 stop"
# 2. 更新 ndb_mgmd 和 ndb_mgm 文件
cp ${SOFT_LINK_DIR}/bin/ndb_mgmd{,bak}
cp ${SOFT_LINK_DIR}/bin/ndb_mgm{,bak}
# 3. 启动管理节点进程服务
${SOFT_LINK_DIR}/bin/ndb_mgmd -f ${SOFT_LINK_DIR}/config.ini --configdir=${DATA_DIR} --reload
更新数据节点
# 1. 关闭数据节点
## ndb_mgm -e "<data-nodeid> STOP" -c <connect-string>
ndb_mgm -e "1 stop"
# 2. 更新软件 ndbd or ndbmtd
cp ${SOFT_LINK_DIR}/bin/ndbd{,bak}
cp ${SOFT_LINK_DIR}/bin/ndbmtd{,bak}
# 3. 启动服务
${SOFT_LINK_DIR}/bin/ndbd --initial
更新系统表信息
待完成上面软件更新之后,执行 mysql_upgrade 更新系统表
mysql_upgrade -uroot -p -P3308
离线更新|降级详细步骤
备份数据库
同上
检查兼容性和新特性
停止所有节点服务
停止SQL 节点
service mysqld3308 stop
停止NDB Cluster
ndb_mgm -e "SHUTDOWN" -c <connect-string>
变更所有节点软件
SQL 节点
SOFT_FILE_NAME="mysql-cluster-gpl-7.6.17-linux-glibc2.12-x86_64.tar.gz"
unlink ${SOFT_LINK_DIR}
tar -xf ${SOFT_FILE_NAME}.tar.gz --no-same-owner -C ${SOFT_INSTALL_DIR}
ln -s ${SOFT_INSTALL_DIR}/${SOFT_FILE_NAME} ${SOFT_LINK_DIR}
管理节点
数据节点
启动NDB 集群
启动管理节点
${SOFT_LINK_DIR}/bin/ndb_mgmd -f ${SOFT_LINK_DIR}/config.ini --configdir=${DATA_DIR} --initial -c <connect-string>
启动数据节点
${SOFT_LINK_DIR}/bin/ndbd
启动SQL节点
service mysqld3308 start
运行mysql_upgrade更新系统表
mysql_upgrade
验证集群表和数据
有必要时,通过 ndb_restore 工具导入备份数据
ndb_restore [-c connection_string] -n node_id -b backup_id \
[-m] -r --backup-path=/path/to/backup/files
内容总结
以上是互联网集市为您收集整理的MySQL-NDB7.6集群软件升级全部内容,希望文章能够帮你解决MySQL-NDB7.6集群软件升级所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。