前幾天突然想到 GCP 上跑的機台很舊了(Debian9, 2018),嘗試升級 Debian 10 後就炸了!無法遠端連線(SSH)而且資料庫主程式損毀無法動啟,幸好有留下資料庫檔(.frm/.ibd)。
1. 先到「GCP Compute Engine / 磁碟」複製一份原本的磁碟檔,避免破壞既有資料
2. 建立新的執行個體,主系統選 Debian12 並且額外連接現有磁碟(上述複製碟)
3. 開機掛載分割區,安裝與置換 MariaDB 資料夾
# 新機台安裝資料庫系統並嘗試匯出資料 # apt-get install mariadb-server # lsblk # mount /dev/sdb1 /mnt/rescue # /etc/init.d/mariadb stop # mv /var/lib/mysql /var/lib/_mysql # cp -R /mnt/rescue/var/lib/mysql /var/lib/ -R # chown -R mysql:mysql mysql # /etc/init.d/mariadb start # # 匯出資料庫檔案 # mysqldump -u db_user -p --default-character-set=utf8 mydb > mydb_backup.sql
4. 維持使用 Debian9 系統 --
「Compute Engine / 映像檔」顯示已淘汰的映像檔,可選擇過期映像檔(debian-9-stretch-v20220621)並建立執行個體
5. 最初掛載 Debian12 到原本 instance 時顯示錯誤訊息 UEFI setting must be the same for the instance and the boot disk. 所以最後只能停留在舊的 Debian9 映像檔;使用 GCP 好處就是 instance 與 disk 是分開的,可以隨意配接取出資料。
沒有留言:
張貼留言