注:本文档以5.7.18为示例,如果需要升级到更高的mysql版本,请在下面网站自行下载。
Mysql下载地址:https://dev.mysql.com/downloads/mysql/

Redhat7操作系统需要自行下载。

升级目标MySQL版本5.7.18

一、前置条件

1. 停止 hive,ranger,oozie等使用MySQL的服务。

2.停止ambari-server

二、升级流程


1. 备份原MySQL数据库所有数据

mysqldump -u root -p123456 —all-databases > mysql_dump20170626
注:这个备份文件一定要多保存几份,如果一旦丢失,整个集群将不可恢复。

2. 开始进行MySQL升级


rpm -qa |grep mysql

卸载所有关于MySQL的rpm包
rpm -e mysql-devel-5.1.73-8.el6_8.x86_64 —nodeps
rpm -e mysql-server-5.1.73-8.el6_8.x86_64 —nodeps

安装新版本MySQLRPM包:
rpm -ivh mysql-community-devel-5.7.18-1.el6.x86_64.rpm —nodeps
rpm -ivh mysql-community-server-5.7.18-1.el6.x86_64.rpm —nodeps
rpm -ivh mysql-community-client-5.7.18-1.el6.x86_64.rpm —nodeps
rpm -ivh mysql-community-common-5.7.18-1.el6.x86_64.rpm —nodeps
rpm -ivh mysql-community-libs-5.7.18-1.el6.x86_64.rpm —nodeps

3.启动新的MySQL,测试使用是否正常。

service mysqld start

如果报错是因为没有删除原MySQL数据,导致新MySQL初始化失败,
删掉即可(rm -rf /var/lib/mysql/)。

cat /var/log/mysqld.log | more

2017-06-26T06:19:39.467476Z 1 [Note] A temporary password is generated for root@localhost: AxkSr(0suyuQ
找到root密码,然后登陆
mysql -uroot -pAxkSr(0suyuQ

修改密码然后给权限(密码和用户需要跟旧mysql一致):

set password=’123456’;

grant all privileges on
. to ‘root’@’%’ identified by ‘123456’;
grant all privileges on
.* to ‘root’@’localhost’ identified by ‘123456’;

测试客户端登陆使用新密码是否OK。

4.数据导入

切到 mysql_dump20170626所在目录下,进入新MySQL

mysql -uroot -p123456

执行: source mysql_dump20170626

没有报错即可。

替换jar
mv mysql-connector-java-5.1.42.jar mysql-connector-java.jar

然后把 新mysql-connector-java.jar同步到以下目录中:
/usr/share/java/mysql-connector-java.jar
/usr/hdp/2.4.0.0-169/kafka/libs/mysql-connector-java.jar
/usr/hdp/2.4.0.0-169/ranger-admin/ews/lib/mysql-connector-java.jar
/usr/hdp/2.4.0.0-169/hive/lib/mysql-connector-java.jar
/var/lib/ambari-server/resources/mysql-connector-java.jar

5.启动ambari,检查ambari是否正常。

ambari-server start

启动,查看日志是否有关于MySQL的报错。
查看界面是否正常

6. 通过ambari界面启动ranger,检查ranger是否正常。

启动,查看日志是否有关于MySQL的报错。
查看界面是否正常

7.通过ambari界面启动hive,检查hive是否正常。

启动,查看日志是否有关于MySQL的报错。
测试SQL是否能跑。

8. 通过ambari界面启动oozie,检查oozie是否正常。

启动,查看日志是否有关于MySQL的报错。




三、回退步骤

1. 卸载掉新版本的MySQL rpm包

2. 安装旧版本的MySQL rpm包

3. 导入数据到原来的MySQL。

3.启动ambari及hive、ranger等服务。