专栏首页烟草的香味Ubuntu14升级MySQL

Ubuntu14升级MySQL

最近需要将测试环境的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. 完成

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

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

本文分享自微信公众号 - 烟草的香味(hujing-bc),作者:胡靖哥哥

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mac docker搭建开发环境

    刚买了一个mac本, 决定搭建一个纯docker的开发环境, 说到做到, 开始踩坑.

    烟草的香味
  • 23种设计模式之观察者模式

    定义: 定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新

    烟草的香味
  • Java8 Stream

    Java8 API中添加了一个新的抽象成为流Stream,可以以一种声明的方式处理数据。

    烟草的香味
  • Ubuntu完全卸载mysql 转

    我们安装了mysql之后想卸载mysql时,往往是卸载不完全,导致下次安装又有问题,下面就提供ubuntu完全卸载mysql的方法.

    wuweixiang
  • ubuntu 系统 安装东西

    余生
  • mysql常见问题及解决

    文章作者ianzhi,原文地址:https://www.dnote.cn/users/ianzhi/posts/mysqlchangjianwentijijie...

    ianzhi
  • 连接远程Ubuntu服务器的MySQL

    -u 表示选择登陆的用户名, -p 表示登陆的用户密码,现在是mysql数据库是没有密码的,Enter password:处直接回车,就能够进入mysql数据库...

    浅枫沐雪
  • 【杂谈】如何应对烦人的开源库版本依赖-做一个心平气和的程序员?

    如今开源生态甚好,享受着便利的同时自然也要承担一些烦恼,每一个开发人员都遇到过各种各样的库的问题,通常都跟版本有关,软硬件的都有,今天有三来随便聊聊怎么应对,仅...

    用户1508658
  • mysql架构由小变大的演变过程

    老七Linux
  • 你不应该知道的知识之如何安装老版本的Python

    由于某些奇怪的原因(如项目中要用某个用Python3.4编译的库),你可能需要安装官方停止支持的Python版本(如Python2.5, Python2.6, ...

    王云峰

扫码关注云+社区

领取腾讯云代金券