1、升级前准备以及注意事项
升级前准备和注意事项:
1、了解项目情况、项目环境,升级MySQL版本的原因。
2、了解项目上MySQL的版本信息,部署方式、部署路径,MySQL数据库中是否仅有知识库,如果有业务库数据,需要项目自行备份数据。
3、获取新版的MySQL安装包,获取项目环境接服务器的连接方式。
4、MySQL只建议小版本之间升级,比如 5.7.1升级到5.7.x。
5、服务器可能存在多个MySQL服务,需要检查Smartbi使用的是哪个MySQL服务,检查步骤:
①登陆smartbi config配置页面,检查MySQL的地址和端口
②登陆服务器查看MySQL端口对应的进程,确认MySQL的信息。
注意事项
此文档仅供参考,相关信息请根据实际环境调整,请勿将文档中的命令直接复制到环境中运行。
2、环境信息
软件 | 原版本 | 新版本 | OS | 部署方式 |
MySQL | 5.7.30 | 5.7.33 | Censtos7.5 | RPM包部署 |
MySQL | 5.7.25 | 5.7.33 | Censtos7.5 | 二级制安装包 |
MySQL | 5.7.25 | 5.7.33 | Censtos7.5 | Linux一键部署安装包 |
注意事项
1、根据实际环境的MySQL部署方式下载对应的升级版本安装包
2、MySQL版本升级前最重要的一件事:备份
3、MySQL升级期间请停止Smartbi服务,避免出现异常
3、安装介质
MySQL下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
4、版本升级
4.1、RPM包部署方式升级
RPM包方式部署MySQL时,可以通过新版本的RPM包升级版本。
1、查看现有的MySQL版本相关信息
RPM包的方式部署时,可以通过以下命令查看MySQL相关信息;
rpm -qa | grep mysql
命令中的查询结果包含了MySQL的版本信息以及部署的MySQL服务,升级时需要将部署的MySQL相关服务都进行版本升级。
2、查看MySQL配置文件,确认MySQL数据目录存放位置
cat /etc/my.cnf
找到以下配置(datadir);
datadir=/var/lib/mysql
#datadir:表示mysql的数据目录路径
注意事项
一般MySQL配置文件默认是存放在/etc/my.cnf,如果指定了其他路径,可以通过ps -ef | grep mysql 查看MySQL进程信息,确认my.cnf的位置。
如果服务器上部署了多个MySQL版本,需要确认我们升级的MySQL的安装路径及数据目录文件路径。
一般可以通过知识库的端口号和MySQL进程来确认MySQL的安装路径。
3、使用mysqldump备份知识库
文档环境中的MySQL知识库名称为smartbidb,参考以下命令备份知识库。
mysqldump -uroot -p --databases smartbidb mysql > /data/smartbi/`date +%F%H`-smartbidb.sql
#参数详解:
-u:MySQ数据库登陆账号
-p:MySQL用户密码
--databases:导出数据库名称。参数后面所有名字参量都被看作数据库名,此处备份知识库smartbidb和mysql库(保存有MySQL账号密码相关信息)
输入MySQL root用户密码后,等待数据库备份完成,备份完成后,在/data/smartbi/目录下会有一个以当前日期命名的sql文件:
如果MySQL数据库除了知识库外,还包含其他数据库,则需要将其他数据库也进行备份。需要注意的是,数据库越大,mysqldump备份时间越长,需要注意磁盘空间是否充足。
4、备份MySQL数据目录、MySQL配置文件
通过查看MySQL配置文件my.cnf,确定MySQL数据目录存放路径后,可以开始备份数据目录。
①停止MySQL服务:
systemctl stop mysqld
②备份MySQL数据目录,并将备份文件移动到/data/smartbi目录(注意磁盘空间是否充足):
cd /var/lib/mysql tar -zcvf mysql-data-back.tar.gz mysql mv /var/lib/mysql-data-back.tar.gz /data/smartbi
③备份MySQL配置文件:
cp /etc/my.cnf /data/smartbi/my.cnf_20210416
5、升级MySQL版本
通过命令查看服务器中部署了哪些MySQL服务,并且确认数据库和数据库目录备份完成后,可以开始升级MySQL版本。
cd /data/smartbi/mysql_new rpm -Uvh mysql-community-common-5.7.33-1.el7.x86_64.rpm \ mysql-community-libs-5.7.33-1.el7.x86_64.rpm \ mysql-community-client-5.7.33-1.el7.x86_64.rpm \ mysql-community-server-5.7.33-1.el7.x86_64.rpm
命令执行过程如下图:
没有错误信息,则表示升级成功。
6、重启MySQL服务,检查MySQL版本
升级完成后,重启MySQL服务:
systemctl start mysqld
检查MySQL运行状态:
systemctl status mysqld
登陆MySQL,查看MySQL版本信息:
mysql -uroot -p
查看数据库:
mysql> show databases;
也可以通过执行以下命令查看MySQL版本
mysql -V
MySQL版本升级完成。
7、登陆Smartbi验证
重启smartbi,然后检查smartbi是否可以正常访问,检查smarbi中的资源是否正常。
4.2、二进制安装包部署方式升级
二进制包方式部署MySQL时,可以通过新版本的二进制包升级版本。
注意事项
1、查看现有的MySQL版本相关信息
执行以下命令查看MySQL版本
/data/mysql-5.7.25-linux-glibc2.12-x86_64/bin/mysql -V
2、查看mysql配置文件,确认MySQL数据目录存放位置
cat /etc/my.cnf
找到以下配置(datadir);
datadir=/data/mysql-5.7.25-linux-glibc2.12-x86_64/data
#datadir:表示mysql的数据目录路径
注意事项
如果服务器上部署了多个MySQL版本,需要确认我们升级的MySQL的安装路径及数据目录文件路径。一般可以通过知识库的端口号和MySQL进程来确认MySQL的安装路径。
3、使用mysqldump备份知识库
文档环境中的MySQL知识库名称为smartbidb,参考以下命令备份知识库。
mysqldump -uroot -p --databases smartbidb mysql > /data/`date +%F%H`-smartbidb.sql
#参数详解:
-u:MySQL数据库登陆账号
-p:MySQL用户密码
--databases:导出数据库名称。参数后面所有名字参量都被看作数据库名,此处备份知识库smartbidb和mysql库(保存有MySQL账号密码相关信息)
注意事项
输入MySQL root用户密码后,等待数据库备份完成,备份完成后,在/data/目录下会有一个以当前日期命名的sql文件:
如果MySQL数据库除了知识库外,还包含其他数据库,则需要将其他数据库也进行备份。需要注意的是,数据库越大,mysqldump备份时间越长,需要注意磁盘空间是否充足。
4、备份MySQL数据目录、MySQL配置文件
通过查看MySQL配置文件my.cnf,确定MySQL数据目录存放路径后,可以开始备份数据目录。
①停止MySQL服务:
systemctl stop mysqld
②备份MySQL数据目录,并将备份文件移动到/data目录:
cd /data/mysql-5.7.25-linux-glibc2.12-x86_64/ tar -zcvf mysql-data-back.tar.gz data mv mysql-data-back.tar.gz /data
注意事项
③备份MySQL配置文件:
cp /etc/my.cnf /data/my.cnf_20210418
5、升级MySQL版本
MySQL备份完成后,可以开始安装新版本的MySQL。
①新版本二进制MySQL解压
cd /data tar -zxvf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
②复制备份的旧mysql data目录到新的mysql部署目录下,并解压
cd /data/mysql-5.7.33-linux-glibc2.12-x86_64/ mv /data/mysql-data-back.tar.gz ./ tar -zxvf mysql-data-back.tar.gz
③修改mysql配置文件
修改/etc/my.cnf中的相关路径,将旧版本的mysql路径替换成新版本的mysql路径。
修改完成后如下图(仅供参考,具体请路径请替换成实际路径):
修改完成后,保存。
6、重启MySQL服务,检查MySQL版本
以下启动命令仅供参考,以实际环境为准
/etc/init.d/mysqld start
检查MySQL运行状态:
/etc/init.d/mysqld status
登陆MySQL,查看MySQL版本信息:
/data/mysql-5.7.33-linux-glibc2.12-x86_64/bin/mysql -uroot -p
查看数据库:
mysql> show databases;
也可以通过执行以下命令查看mysql版本
/data/mysql-5.7.33-linux-glibc2.12-x86_64/bin/mysql -V
7、登陆Smartbi验证
重启smartbi,然后检查smartbi是否可以正常访问,检查smarbi中的资源是否正常。
4.3、替换文件的方式升级(对于一键安装部署包)
示例场景:
一键安装部署路径:/data/Smartbi/Smartbi_CentOS_x86_CN
1、查看现有的MySQL版本相关信息
执行以下命令查看MySQL版本:
1 |
|
2、查看mysql配置文件,确认MySQL数据目录存放位置
1 |
|
找到以下配置(datadir);
datadir=/data/mysql-5.7.25-linux-glibc2.12-x86_64/data
#datadir:表示mysql的数据目录路径
注意事项
一般mysql配置文件默认是存放在/etc/my.cnf,如果指定了其他路径,可以通过ps -ef | grep mysql 查看mysql进程信息,确认my.cnf的位置。
如果服务器上部署了多个MySQL版本,需要确认我们升级的MySQL的安装路径及数据目录文件路径。一般可以通过知识库的端口号和MySQL进程来确认MySQL的安装路径。
3、备份知识库、Mysql数据目录、Mysql配置文件
①通过“系统运维”备份知识库。
②停止服务
1 2 3 |
./stop.sh |
③直接将一键安装部署的Mysql的data目录进行压缩打包备份
1 2 |
|
需要注意的是,数据库越大,压缩打包备份时间越长,需要注意磁盘空间是否充足。
④备份MySQL配置文件:
cp /etc/my.cnf /data/my.cnf_20210418
4、备份旧版本Mysql目录
1 2 |
|
5、解压并重命名新版本的Mysql安装包
1 2 3 4 |
|
6、升级Mysql版本
①复制备份的旧mysql data目录到新的mysql部署目录下,并解压
cd /data/Smartbi/Smartbi_CentOS_x86_CN/Mysql/ tar -zxvf /data/Smartbi/Smartbi_CentOS_x86_CN/Mysql_bak/mysql-data-back.tar.gz -C ./
②将备份的旧mysql中的相关配置文件复制到新的mysql对应目录下
cd /data/Smartbi/Smartbi_CentOS_x86_CN/Mysql/ cp -ra /data/Smartbi/Smartbi_CentOS_x86_CN/Mysql_bak/{my.cnf,mysql,mysqld,mysqld.log} ./ cd /data/Smartbi/Smartbi_CentOS_x86_CN/Mysql/support-files/ mv mysql.server mysql.server_bak cp -a /data/Smartbi/Smartbi_CentOS_x86_CN/Mysql_bak/support-files/mysql.server ./
③修改mysql配置文件
修改/etc/my.cnf中的相关路径,将旧版本的mysql路径替换成新版本的mysql路径。
修改完成后如下图(仅供参考,具体请路径请替换成实际路径):
修改完成后,保存。
7、重启服务、检查Mysql版本
①启动服务
1 2 3 |
./start.sh |
②登陆MySQL,查看MySQL版本信息:
1 |
|
查看数据库:
1 |
|
也可以通过执行以下命令查看mysql版本
1 |
|
8、登陆Smartbi验证
重启smartbi,然后检查smartbi是否可以正常访问,检查smarbi中的资源是否正常。