使用Docker恢復Mysql8備份的Data數據 - 誠哥博客

前段時間公司數據庫服務器崩潰啓動不起來,經過我初步排查是/home目錄掛載不上導致啓動不起來,雖然通過註釋/etc/fstab中的掛載信息,啓動了,但是發現mysql數據有缺失, 還好有例行備份數據,就是data文件,經過我的嘗試最後成功恢復數據,下面講下方法

image-20221126133715533

安裝新 mysql

首先新整個服務器,安裝 mysql,這裏使用 docker 持久化安裝 mysql

docker run -p 3306:3306 --name mysql -e TZ=Asia/Shanghai \
    -v /data/mysql/log var/log/mysql:rw \
    -v /data/mysql/data var/lib/mysql:rw \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -d --restart=always mysql:8.0.11

初始化數據庫

使用工具連接 mysql 直到成功初始化(連接成功)爲止,然後停止 mysql

docker stop mysql

複製文件

複製備份文件到/data/mysql/的 bak_data,備份一次現有初始化的數據庫(如果失敗可以重新來過)

cp -r /data/mysql/data /data/mysql/data_init

移動文件(重要步驟)

mv /data/mysql/bak_data/* /data/mysql/data/

期間會提示很多文件是否需要覆蓋,需要覆蓋的文件輸入y,不覆蓋輸入n

需要覆蓋文件:

  • ibdata1
  • ib_logfile0
  • ib_logfile1
  • ib_buffer_pool
  • auto.cnf
  • mysql.ibd

其他文件都不覆蓋

測試

到這一步已經可以連接了,最後數據庫啓動測試

docker start mysql

本文由「誠哥博客」原創,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:使用Docker恢復Mysql8備份的Data數據 - 誠哥博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章