如何使用Docker恢復(fù)Mysql8備份的Data數(shù)據(jù)
前段時間公司數(shù)據(jù)庫服務(wù)器崩潰啟動不起來,經(jīng)過我初步排查是/home目錄掛載不上導(dǎo)致啟動不起來,雖然通過注釋/etc/fstab中的掛載信息,啟動了,但是發(fā)現(xiàn)mysql數(shù)據(jù)有缺失, 還好有例行備份數(shù)據(jù),就是data文件,經(jīng)過我的嘗試最后成功恢復(fù)數(shù)據(jù),下面講下方法

安裝新 mysql
首先新整個服務(wù)器,安裝 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初始化數(shù)據(jù)庫
使用工具連接 mysql 直到成功初始化(連接成功)為止,然后停止 mysql
docker stop mysql
復(fù)制文件
復(fù)制備份文件到/data/mysql/的 bak_data,備份一次現(xiàn)有初始化的數(shù)據(jù)庫(如果失敗可以重新來過)
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
其他文件都不覆蓋
測試
到這一步已經(jīng)可以連接了,最后數(shù)據(jù)庫啟動測試
docker start mysql
到此這篇關(guān)于使用Docker恢復(fù)Mysql8備份的Data數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Docker恢復(fù)Mysql數(shù)據(jù)備份內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解如何獲取docker容器(container)的ip地址
這篇文章主要介紹了詳解如何獲取docker容器(container)的ip地址,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
CentOS?7中安裝Docker和Docker?Compose的完整操作步驟
這篇文章主要介紹了在CentOS?7系統(tǒng)上安裝Docker和Docker?Compose的步驟,包括環(huán)境準(zhǔn)備、卸載舊版本、安裝Docker、配置鏡像加速以及安裝和驗(yàn)證Docker?Compose,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04

