前言
Mysql 因斷電引起數(shù)據(jù)庫崩潰啟動(dòng)失敗修復(fù)方法
會恢復(fù)大部分?jǐn)?shù)據(jù)冀痕,一小部分因?yàn)槲募p壞會丟失,日常備份的話數(shù)據(jù)丟失量會更小溪烤。
- 環(huán)境說明
- CentOS 6.5
- Mysql 5.7.22
一县昂、修改啟動(dòng)方式
- 修改 MySQL 啟動(dòng)方式為恢復(fù)模式,修改 /etc/my.cnf棍弄,
- 添加innodb_force_recovery=6 這一行望薄,然后重新啟動(dòng)MySQL,這個(gè)模式下只能讀取數(shù)據(jù)庫中沒有受到影響的數(shù)據(jù)呼畸,不能做刪除修改操作痕支。
vim /etc/my.cnf
innodb_force_recovery=6
二、備份數(shù)據(jù)
用 Navicat 備份數(shù)據(jù)庫數(shù)據(jù)蛮原,因?yàn)闀幸恍?shù)據(jù)損壞會讀取不了卧须,所以不要啟用事務(wù)。
三瞬痘、備份數(shù)據(jù)文件
- 停止數(shù)據(jù)庫服務(wù)
- 備份文件故慈,直接把MySQL目錄移動(dòng)到備份文件夾,改名日期框全。
mv new_mysql ./mysqldata/20190327
四察绷、初始化數(shù)據(jù)庫文件夾啟動(dòng)
mysqld --initialize-insecure --user=mysql
service mysqld start
五、修改密碼
mysql -uroot -p
SET PASSWORD = PASSWORD(123456);//123456不用改
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;
FLUSH PRIVILEGES;
六津辩、恢復(fù)數(shù)據(jù)
- 把之前備份的數(shù)據(jù)庫恢復(fù)即可
七拆撼、異常問題
- 初始化完成啟動(dòng)失敗Starting MySQL... ERROR! The server quit without updating PID file
- ①權(quán)限 chown -R mysql.mysql /home/myslq
- ②執(zhí)行 chcon -R -t mysqld_db_t /home /mysql