说明:因项目测试所需,故整理了该文档供大家参考-->如何在Linux系统下升级MySQL(RPM包)
rpm包5.7.22升级到5.7.35
一、准备
>>查看Linux系统版本,下载对应的rpm包
cat /etc/issue
>>rpm包下载地址:https://downloads.mysql.com/archives/community/
>>5.7.35 rpm升级包:mysql-5.7.35-1.sles12.x86_64.rpm-bundle.rar
>>数据库登录
mysql -u用户名 -p密码
mysql -uroot -p123456
二、查看原有数据库版本
>>方法一:rpm -qa | grep -i mysql
>>方法二:登录数据库,select version();
三、备份原数据库
>>备份某个数据库
mysqldump -h主机名(ip) -u 用户名 -B -p 数据库名1 数据库名2 > 备份文件路径
mysqldump -uroot -B -p dxp > /mysql/dxp.sql
此时数据库dxp备份到/mysql/dxp.sql中
>>备份所有数据库

四、删除旧版本MySQL及相关
>>查看原有版本并依次删除
rpm -qa|grep -i mysql 为rpm安装,则会出现如下图所示:

rpm -qa | grep mariadb
>>如果存在,则进行卸载
普通删除:rpm –e mysql-community-*** 依次进行删除即可
强制删除:rpm –e –-nodeps mysql-community-***
五、上传MySql最新版本
>>上传并解压:
tar -xvf mysql-5.7.35-1.sles12.x86_64.rpm-bundle.tar

六、安装rpm文件包
>>上传解压后依次安装 comm->libs->client->server即可
依次安装:rpm –ivh mysql-**
>>安装成功,检查安装版本:rpm -qa|grep -i mysql


>>安装成功后,无法登录
初始密码未知时,修改mysql配置文件 vi /etc/my.cnf,加入如下配置
user=mysql
skip-grant-tables
保存重启服务
service mysql stop 关闭mysql
service mysql start 启动mysql
此时登录,只需按回车键即可登录
mysql –uroot –p
>>修改密码:
mysql> use mysql;
mysql> update user set password=password("*******") where user="*******";
#修改密码报错,ERROR1054(42S22): Unknown column'password' in 'field list'
若报错则使用以下命令(原因:mysql5.7.*版本的数据库已经没有password这个字段,改为了authentication_string
mysql> update user set authentication_string=password('123456') where user='root';
mysql> flush privileges;
mysql> exit;
修改后保存重启数据库服务
>> 密码修改后登录,操作任意命令报错,此时需在mysql中再设置一遍

七、导入/还原数据库
>>方法一:
mysql -u root -p dxp < /mysql/dxp.sql
Enter password:123456
>>方法二:
登录mysql数据库,输入命令 mysql -u root -p,输入密码即可
再使用数据库dxp,输入命令 use dxp
导入备份文件. source /mysql/dxp.sql
这样数据库test的数据就还原成原先备份的数据了