最近需要将测试环境的MySQL从5.6升级到5.7.

我就自己先虚拟机搭了一个Ubuntu14进行模拟升级, 不得了

开始了各种踩坑记录

方案一

此方案可以跳过, 全是坑.

搜索 Ubuntu14 MySQL升级5.7, 出现很多结果

查看后发现处理方法全都一样, 既然大家都是这么升级的, 肯定么得问题. 我信了

1.下载deb包

sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb

2.安装

sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb

选择MySQL5.7

3.更新apt源

sudo apt update

报错了,

去找解决方案, 如下

apt-key list // 查看所有签名, 发现存在过期的签名
apt-key del 5072E1F5 // 删除过期的签名
// 重新导入签名
apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5
// 再次执行
apt update

4. 安装MySQL

apt install mysql-server

然后就是各种报错之旅, 就不一一细数了,

期间从昨晚9点, 到凌晨1点, 再从早上9点到下午5点. 测试用的虚拟机被我重置了M次, 遇到N个问题, 解决了N-1个问题.

最终, 我放弃了. 都是骗人的.

方案二

更新不成, 我重新安装总可以了吧.

1. 备份

备份数据库数据

这里使用utf8mb4编码是因为数据库中存在emoji

mysqldump -u root -p --default-character-set=utf8mb4 --all-databases > sql.sql

备份的数据库文件最好找个测试5.7导入一下,防止出现问题

备份配置文件

sudo tar zcvf mysql_config.tar.gz /etc/mysql/

2. 卸载MySQL

查看已安装的MySQL

dpkg -l | grep mysql

卸载步骤:

  1. sudo service mysql stop
  2. sudo apt remove mysql-server.
  3. sudo apt remove mysql-common
  4. sudo apt-get autoremove mysql. --purge

重新查看是否还有mysql相关

dpkg -l | grep mysql

若没有卸载完全, 执行 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P, 清理残余mysql文件

3. 安装MySQL5.7

# 下载tar, 使用国内镜像, 速度会快一些
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-server_5.7.25-1ubuntu14.04_amd64.deb-bundle.tar
# 解压缩
tar -xvf mysql-server_5.7.25-1ubuntu14.04_amd64.deb-bundle.tar
# 开始安装
sudo apt update
sudo dpkg -i mysql-common_5.7.25-1ubuntu14.04_amd64.deb
sudo dpkg -i libmysqlclient20_5.7.25-1ubuntu14.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_5.7.25-1ubuntu14.04_amd64.deb
sudo dpkg -i libmysqld-dev_5.7.25-1ubuntu14.04_amd64.deb
# 下面这步要求依赖
sudo apt install libaio1
sudo dpkg -i mysql-community-client_5.7.25-1ubuntu14.04_amd64.deb
sudo dpkg -i mysql-client_5.7.25-1ubuntu14.04_amd64.deb
sudo dpkg -i mysql-community-source_5.7.25-1ubuntu14.04_amd64.deb
# 安装依赖
sudo apt install libmecab2
# 这一步会要你输入数据库root用户的密码
# 这里输入的密码要和原来的一样, 因为后面会恢复数据, 密码会覆盖的
sudo dpkg -i mysql-community-server_5.7.25-1ubuntu14.04_amd64.deb

安装完成, 尝试登陆

service mysql start
# 版本是5.7, 正确
mysql -u root -p

安装完成!!!开心

4.导入数据库数据

# 最开始备份的数据库文件
mysql -u root -p < sql.sql

参考原配置文件, 修改现在的配置文件

5. 完成

卸载安装中也踩了很多坑, 以上步骤是我经过实验最终可以使用的.

以上步骤我在虚拟机反复测试了近二十次, 应该么得问题了. 接下来可以动测试环境了. 明天再去动吧, 告辞!!!

Ubuntu14升级MySQL相关推荐

  1. linux mysql 升级_linux升级mysql

    下载二进制安装包,地址 //downloads.mariadb.org/mariadb/10.2.5/ # cd /usr/local/ # wget //mirrors.neusoft.edu.cn ...

  2. phpstudy升级mysql之后,修改配置文件无效的问题

    博主刚到新公司,用的还是phpstudy集成环境,只是公司用的数据库是Mysql5.7的,而phpstudy默认自带的数据库只是mysql5.5的.无奈之下升级,但是升级后发现修改配置文件无效,一定是 ...

  3. centos mysql 5.6.36_CentOS 6.9 升级MySQL 5.6.36到5.7.18

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

  4. phpstud如何安装mysql新版_phpstudy 升级mysql版本

    phpstudy里没有地方可以设置mysql数据库,很多人都疑惑在phpstudy里怎么升级mysql数据库版本,本文就教你如何在phpstudy中升级mysql的版本. phpstudy集成环境中的 ...

  5. .net mysql 更新_升级 MySql.Data for NET 后遇到的神坑

    今天把一个之前基于 http://ASP.NET MVC 5 + EntityFramework 5 的项目里的 Nuget 包都升级了一下,包括将 EF 从 6.1.3 升级到 6.2.0,将 My ...

  6. phpstudy mysql 版本_phpStudy中升级MySQL版本到5.7.17的方法步骤

    前言 今天在工作发现一个错误,在往本地导数据表的时候老是报错: [Err] 1294 - Invalid ON UPDATE clause for '字段名' column 报错的数据表字段: `字段 ...

  7. mysql 5.7.17 64位_Windows(x86,64bit)升级MySQL 5.7.17免安装版的详细教程

    MySQL需要升级到5.5.3以上版本才支持Laravel 5.4默认的utf8mb64字符编码.因此就把MySQL升级了一下,期间还是遇到些小问题,记录一下以供参考. 升级准备 备份之前MySql目 ...

  8. mysql 5.7.17 x86_Windows(x86,64bit)升级MySQL 5.7.17免安装版的详细教程

    MySQL需要升级到5.5.3以上版本才支持Laravel 5.4默认的utf8mb64字符编码.因此就把MySQL升级了一下,期间还是遇到些小问题,记录一下以供参考. 升级准备 备份之前MySql目 ...

  9. debian 升级后mysql_教你在Debian和Ubuntu上升级MySQL

    系统管理员的日常工作之一就是升级服务,为服务打上补丁包或升级一些花哨的功能.2013年初,最新的 MySQL 5.6发布,目标是提供更 系统管理员的日常工作之一就是升级服务,为服务打上补丁包或升级一些 ...

最新文章

  1. ASP.NET中使用多个runat=server form
  2. 做好面试前的准备工作
  3. 视频 | BIM数据中心模型
  4. 解析oracle的rownum
  5. 前端学习(1901)vue之电商管理系统电商系统之渲实现添加表单的重置规则
  6. Java语言程序设计(基础篇) 第二章
  7. 干掉Spring Cloud和Dubbo!阿里这个神级框架究竟有多牛?
  8. linux ssh客户端乱码,Win10专业版下Open ssh客户端乱码咋办?
  9. Python--day45--pymysql模块初识以及SQL注入
  10. 非零矩阵A可以写成某个列满秩矩阵与某个行满秩矩阵的乘积
  11. java高级实训输出张三李四_假设某数据库表中有一个姓名字段,查找姓名为张三和李四的条件是...
  12. Mac上搭建虚拟机 安装windows系列
  13. 四川公办二本计算机专业院校排名,四川二本大学排名及分数线
  14. 如何使用文件保险箱加密 Mac 数据?
  15. 电气工程类期刊最新数据+2019年电气工程领域的中文期刊(EI期刊+中文核期刊)
  16. CLCL - 不错的剪贴板增强工具
  17. Windows 7 SATA与XP IDE双启动多个磁盘
  18. Excel总VBA相关类模块
  19. EventBus总结
  20. 深度学习环境配置_ubuntu18及以上

热门文章

  1. LwIP应用开发笔记之三:LwIP无操作系统UDP客户端
  2. 软件工程讲义 3 两人合作(2) 要会做汉堡包
  3. 同学们对《现代软件工程》课程的意见
  4. HTML用户点击新建按钮,html – 需要点击按钮
  5. 树莓派跑php,在树莓派4上部署nginx+php
  6. python博客项目评论_Python 爬虫入门——小项目实战(自动私信博客园某篇博客下的评论人,随机发送一条笑话,完整代码在博文最后)...
  7. Linux基本目录结构
  8. 大神程序员都懂英文翻译,而你却因英语不行遭拒?
  9. 某些您可以编辑的区域交叠在一起 可能不能同时显示_DX200操作要领—修改与编辑程序(三十九)...
  10. c字符串中包含双引号_必须知道的C语言知识细节:单引号和双引号正确用法