mysql 之 版本升级,从5.5升级到5.7

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
+关注继续查看

升级mysql版本,可以通过下载官网的安装软件来实现,也可以通过按照mysql的yum源安装实现。

首先介绍一下使用安装yum源的方法(操作系统是centos6.4 64位):

1、首先到官网 http://dev.mysql.com/downloads 找到对应的reposit安装源下载包,安装这个软件包之后,就可以找到mysql对应的软件版本了,我找到的yum安装源软件包地址如下:

http://dev.mysql.com/get/mysql57-community-release-el6-8.noarch.rpm

 2、登录服务器,下载并按照这个yum源:

 wget http://dev.mysql.com/get/mysql57-community-release-el6-8.noarch.rpm

 rpm -ivh mysql57-community-release-el6-8.noarch.rpm 
    

3、查看可安装的mysql版本:
[root@host-172-10-2-83 software]# yum repolist all|grep mysql
mysql-connectors-community        MySQL Connectors Community      enabled:    21
mysql-connectors-community-source MySQL Connectors Community - So disabled
mysql-tools-community             MySQL Tools Community           enabled:    35
mysql-tools-community-source      MySQL Tools Community - Source  disabled
mysql-tools-preview               MySQL Tools Preview             disabled
mysql-tools-preview-source        MySQL Tools Preview - Source    disabled
mysql55-community                 MySQL 5.5 Community Server      disabled
mysql55-community-source          MySQL 5.5 Community Server - So disabled
mysql56-community                 MySQL 5.6 Community Server      disabled
mysql56-community-source          MySQL 5.6 Community Server - So disabled
mysql57-community                 MySQL 5.7 Community Server      enabled:    82
mysql57-community-source          MySQL 5.7 Community Server - So disabled



4、使用yum-config-manager命令启用或者禁用相应mysql的版本:

 yum-config-manager --disable mysql57-community
 yum-config-manager --enable mysql57-community

    例如,上面的命令分别是禁用额5.7版本,启用了5.7版本

5、直接使用yum install安装:

    yum install mysql-community-server -y


下面介绍第二种方法,就是下载安装文件的方法:


1.下载Linux的5.7版本

wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11-1.el6.x86_64.rpm-bundle.tar

下载完成后,解压

2.备份数据库文件

mysqldump -uxxx -pxx databasename > databasename.sql

3.停止mysql服务

service mysqld stop

4.刚开始使用的yum安装的,使用以下语句进行卸载

yum remove mysql*

5.然后删除mysql旧版本已经存在的文件或者数据,不然mysql在重新安装后会出现各种纠结的问题。

find / -name mysql
ps -ef | grep -i mysql

rm -rf mysql****
kill -9 mysqlid

注意/usr/bin、/usr/share/、/var/lib下有很多mysql开头的文件,都删除掉,还有删除/etc目录下的my.cnf文件


6.如果你是rpm安装的,可以通过以下命令进行删除

rpm -qa | grep -i name
rpm -e mysqlxxxxx

7.卸载删除干净后,再使用以下命令对下载的server、client、devel、lib进行安装

yum localinstall mysql-community-common-5.7.11-1.el6.x86_64.rpm mysql-community-client-5.7.11-1.el6.x86_64.rpm mysql-community-server-5.7.11-1.el6.x86_64.rpm mysql-community-libs-5.7.11-1.el6.x86_64.rpm  mysql-community-devel-5.7.11-1.el6.x86_64.rpm

8.安装成功后,可能会出现以下问题,那么看看下面有没有你想要的

  1. mysql error 1524

  2. error 1045(28000)

  3. error 1820

  4. 使用mysql -uroot -proot登录不了

对应的方法为:

  1. 在my.cnf文件中的[mysql]下增加“skip-grant-tables”,然后重新启动mysql服务

  2. 在my.cnf文件中的[mysql]下将“user=mysql”注释掉

  3. 该问题需要设置一下用户的密码

    mysql> create database ttt;
    ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
    mysql> set password = password("root");
    Query OK, 0 rows affected (0.00 sec)
  4. mysql给你初始化了密码,在root目录下找.mysql_secret文件,注意文件隐藏形式,直接通过vim .mysql_secret就会关联到

    在我这里很奇怪,没有.mysql_secret 文件,因此只有使用下面的方法:

    先停止mysql服务: 
    service mysqld stop
    使用--skip-grant-tables忽略密码启动:
    mysqld_safe --skip-grant-tables &

    更改密码: update mysql.user set authentication_string=password('mysql') where user='root' and Host = 'localhost';

    flush privileges;

       *特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了

    而是将加密后的用户密码存储于authentication_string字段

    杀死mysqld:   killall -TERM mysqld

    启动mysqld服务:  service mysqld start

    进入mysql,5.7版本在首次登录的时候它还是要求修改密码,因此执行下面的命令:

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql_123';
    flush privileges;

    注意,更改后的密码也有复杂度要求,应该是需要字母、数字、符号的组合,并且是8位以上。











本文转自yuweibing51CTO博客,原文链接:http://blog.51cto.com/yuweibing/1761351 ,如需转载请自行联系原作者





相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
存储 分布式计算 关系型数据库
云原生数据仓库AnalyticDB MySQL湖仓版架构升级,持续释放技术红利!
云原生数据仓库AnalyticDB MySQL湖仓版架降价23%!持续提供高性价比的产品服务
|
2天前
|
存储 SQL 关系型数据库
MySQL5.7到8.0的升级迁移!高效的MySQL跨版本迁移技术解读
NineData是一种高效、稳定且易于使用的迁移工具,可帮助用户将MySQL 5.7迁移到MySQL 8.0。由于MySQL 5.7已经结束生命周期并不再获得技术支持,因此迁移至MySQL 8.0是必要的。NineData提供了数据复制功能,包括数据迁移和实时同步,还支持双向复制。与传统迁移方法相比,NineData具有简单易用、数据一致、强劲性能和高可靠性的优势。它提供了完善的观测和干预能力,保障迁移的成功。此外,NineData还提供了对比功能,确保数据的一致性。通过简单的配置过程,用户可以实现自动化的数据迁移。NineData还提供了完善的观测和干预能力,帮助用户追踪迁移进展并诊断和修复
130 2
|
8天前
|
存储 分布式计算 关系型数据库
|
3月前
|
关系型数据库 MySQL 数据库
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
157 0
|
5月前
|
存储 SQL 分布式计算
AnalyticDB MySQL升级为湖仓一体架构:从湖到仓,打造云原生一站式数据分析平台
AnalyticDB MySQL湖仓版同时支持低成本离线处理和高性能在线分析,适合ETL/BI报表/交互式查询/APP应用等多场景,并可无缝替换CDH/TDH/Databricks/Presto/Spark/Hive等
|
6月前
|
SQL JSON 前端开发
【JavaEE】表白墙再升级(MySQL实现持久化)
在最初的表白墙版本中,页面已刷新,“甜言蜜语”就会丢失:
45 0
|
6月前
|
运维 关系型数据库 MySQL
WDCP MYSQL 5.5.44 升级故障处理一例
WDCP MYSQL 5.5.44 升级故障处理一例
|
7月前
|
关系型数据库 MySQL 索引
MySQL - 无索引行锁升级为表锁
MySQL - 无索引行锁升级为表锁
47 0
|
10月前
|
存储 SQL JSON
PolarDB MySQL 5.6/MySQL 5.6升级PolarDB MySQL 8.0最佳实践
升级概述为什么选择升级到PolarDB MySQL 8.0?PolarDB MySQL 8.0.1 (基于官方MySQL 8.0.13内核版本)发布于2019-12-03和PolarDB MySQL 8.0.2(基于官方MySQL 8.0.18内核版本)发布于2020-07-22*,增强了诸多卓越的架构增强和内核能力,为业务提供更灵活的技术解决方案和强大收益的性能提升,主要包括:Serverles
232 0
|
10月前
|
关系型数据库 MySQL Linux
MySQL集群升级从5.5版本升级到10.*以上版本(CentOS7.5 MariaDB集群升级)
MySQL集群升级从5.5版本升级到10.*以上版本(CentOS7.5 MariaDB集群升级)
216 0
MySQL集群升级从5.5版本升级到10.*以上版本(CentOS7.5 MariaDB集群升级)
推荐文章
更多