目錄
- 安裝新 mysql
- 初始化數據庫
- 復制文件
- 移動文件(重要步驟)
- 測試
前段時間公司數據庫服務器崩潰啟動不起來,經過我初步排查是/home目錄掛載不上導致啟動不起來,雖然通過注釋/etc/fstab中的掛載信息,啟動了,但是發現mysql數據有缺失, 還好有例行備份數據,就是data文件,經過我的嘗試最后成功恢復數據,下面講下方法
安裝新 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