Ubuntu14升級MySQL

  • 2020 年 2 月 25 日
  • 筆記

最近需要將測試環境的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. 完成

卸載安裝中也踩了很多坑, 以上步驟是我經過實驗最終可以使用的.

以上步驟我在虛擬機反覆測試了近二十次, 應該么得問題了. 接下來可以動測試環境了. 明天再去動吧, 告辭!!!