• 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. 完成

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

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

  • 相关阅读:
    深入理解Java虚拟机-走进Java
    springboot服务引入外部jar包在windows运行正常,在linux环境上无法加载到引入jar包的类
    ActiveMQ数据接收类型问题
    kafka报文一直打印的问题
    Java基本语法
    flask跨域问题
    flask接口传参
    iTextSharp导出PDF模板(报告)
    ASP.NET中<%=%>、<%%>、<%@%>、<%#%>的用法与区别
    python AES+SHA1PRNG
  • 原文地址:https://www.cnblogs.com/hujingnb/p/12347915.html
Copyright © 2020-2023  润新知