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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 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 ,如需转载请自行联系原作者





相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
关系型数据库 MySQL Linux
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】
这篇文章提供了在Linux系统中使用Docker安装Mysql 5.7版本的详细过程和图解,包括安装指定版本、创建实例、启动、使用Navicat连接测试、文件挂载与端口映射、进入容器、配置文件修改以及重新启动容器等步骤。
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】
|
5天前
|
关系型数据库 MySQL 数据库
同一台电脑安装两个不同版本的mysql。简单暴力有效
这篇文章介绍了在同一台电脑上安装并配置两个不同版本的MySQL数据库的过程,包括修改端口号、配置服务、修改连接端口和测试连接情况,以确保不同版本的MySQL能够正常运行而不相互干扰。
同一台电脑安装两个不同版本的mysql。简单暴力有效
|
12天前
|
算法 关系型数据库 MySQL
揭秘MySQL中的版本号排序:这个超级算法将颠覆你的排序世界!
【8月更文挑战第8天】在软件开发与数据管理中,正确排序版本号对软件更新及数据分析至关重要。因MySQL默认按字符串排序版本号,可能出现'1.20.0'在'1.10.0'之前的不合理情况。解决办法是将版本号各部分转换为整数后排序。例如,使用`SUBSTRING_INDEX`和`CAST`函数从`software`表的`version`字段提取并转换版本号,再按这些整数排序。这种方法可确保版本号按逻辑正确排序,适用于'major.minor.patch'格式的版本号。对于更复杂格式,需调整处理逻辑。掌握此技巧可有效应对版本号排序需求。
39 3
|
30天前
|
关系型数据库 MySQL 数据库
|
26天前
|
存储 负载均衡 关系型数据库
面试题MySQL问题之通过配置FastDFS提高性能如何解决
面试题MySQL问题之通过配置FastDFS提高性能如何解决
33 1
|
8天前
|
SQL 存储 Oracle
MySQL 项目中 SQL 脚本更新、升级方式,防止多次重复执行
MySQL 项目中 SQL 脚本更新、升级方式,防止多次重复执行
18 0
|
13天前
|
存储 关系型数据库 MySQL
XtraBackup 的版本大揭秘:突破迷雾,揭开其支持 MySQL 版本的震撼真相,捍卫数据安全!
【8月更文挑战第7天】XtraBackup 是 MySQL 备份领域的热门工具,适用于多个版本。它为 MySQL 8.0 提供高效备份,确保数据安全。同样支持 MySQL 5.7 和其他稳定版如 5.6,精确备份各类数据结构。
25 0
|
2月前
|
SQL 关系型数据库 MySQL
解决 MySQL 5.7 及以上版本中的 “ONLY_FULL_GROUP_BY“ 错误
解决 MySQL 5.7 及以上版本中的 “ONLY_FULL_GROUP_BY“ 错误
245 3
|
1月前
|
关系型数据库 MySQL 数据库
Relational Database Service RDS 各个版本
【7月更文挑战第12天】
26 0
|
1月前
|
关系型数据库 数据库 RDS
利用DTS将自建mysql5.7版本数据库迁移至对应rds报错
利用DTS将自建mysql5.7版本数据库迁移至对应rds报错
128 0