一、SQL語句誤操作導致數據丟失
1、首先需要停止mysql伺服器的運行
/etc/init.d/mysql stop
2、備份原來的數據
cd /var/lib/mysql
tar zcvf mysql-backup.tar.gz * --exclude ib*
mv mysql-backup.tar.gz /root/
3、找到最新的備份文件並解壓縮
cd /root/
tar zxvf mysql-backup.tar.gz
4、把資料庫文件夾複製到當前的mysql的數據目錄
cp -Rf /root/var/lib/mysql/* /var/lib/mysql/
5、啟動mysql伺服器
/etc/init.d/mysql start
二、誤刪數據表
1、使用mysqldump將整個資料庫備份到本地
mysqldump -u root -p database > database.sql
2、使用mysql命令登錄到伺服器
mysql -u root -p
3、選擇需要恢復的資料庫
use database
4、還原剛才備份的數據表
source /path/to/database.sql
三、文件損壞或資料庫無法啟動
1、使用mysqlcheck命令檢查資料庫的所有表
mysqlcheck -u username -p --check --all-databases
2、如果有問題,則使用mysqlcheck命令修復資料庫
mysqlcheck -u username -p --repair --all-databases
3、如果資料庫仍然無法正常啟動,則可以刪除所有日誌文件並重啟mysql:
cd /var/lib/mysql
rm -rf *.log
/etc/init.d/mysql restart
四、recovery模式恢複數據
1、關閉MySQL服務
systemctl stop mysql
2、使用以下命令查看binlog日誌文件
ls -l /var/log/mysql/bin*
3、使用mysqlbinlog將binlog文件導出
mysqlbinlog --start-position=4 --verbose /var/log/mysql/binlog.000001 > /root/mysql_recovery.sql
4、編輯mysql_recovery.sql文件,刪除所有的「SET」語句
5、使用mysql命令將導出的sql文件導入資料庫
mysql -u root -p < /root/mysql_recovery.sql
五、資料庫遷移
1、使用mysqldump備份原資料庫
mysqldump -u root -p database > /root/database.sql
2、將備份的sql文件拷貝到新伺服器
scp /root/database.sql username@newserver:/root/
3、在新伺服器上使用mysql命令導入sql文件
mysql -u root -p < /root/database.sql
以上這些方法可以幫助你解決MySQL數據恢復的常見問題,讓你的資料庫得以快速恢復。
原創文章,作者:IELF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/132108.html