1. 程式人生 > 其它 >CentOs 7.6 Mysql服務無法啟動的情況下,還原資料庫

CentOs 7.6 Mysql服務無法啟動的情況下,還原資料庫

技術標籤:CentOS伺服器資料庫mysqlcentoslinuxjava

一 準備系統

為了保險起見,需要準備另一個CentOs作業系統,可以說伺服器也可以是本機虛擬機器上的。

二 備份資料庫檔案

首先 cat /etc/my.cnf檢視datadir所對應的目錄 (如檔案不在當前位置,可使用find / -name my.cnf 命令查詢檔案位置),此目錄就說資料庫資料所在資料夾, 一般為/var/lib/mysql目錄 把mysql整個資料夾拷貝下來到本地以作備份,我使用的是xFtp工具。
在這裡插入圖片描述

三 在另一個系統中配置MySql

這裡可以參考我以前寫的部落格阿里雲 CentOS 7配置Mysql詳細教程

當然你也可以直接在本系統中解除安裝MySql在重新安裝 可以參考這篇部落格 CentOS徹底刪除Mysql

四 關閉MySql服務,把備份好的資料庫檔案拷貝回去

關閉MySql服務service mysqld stop
把第二步拷貝的mysql檔案放到/var/lib目錄下,把現有的mysql資料夾替換掉,更改mysql資料夾的所有者以及分組

// 更改所有者
chown -R mysql /var/lib/mysql
// 更改組
chgrp -R mysql /var/lib/mysql

然後再cat /etc/my.cnf檢視datadir所對應的目錄是否為/var/lib/mysql
在這裡插入圖片描述
不是的話 vi /etc/my.cnf

, 按 i 鍵進入編輯模式進行修改,編輯完成後按ESC鍵,輸入:wq退出並儲存。

最後再開啟MySql服務service mysqld start

五 登入Mysql

輸入

mysql -u root -p

後再輸入密碼,發現報錯

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

在這裡插入圖片描述
於是乎 百度 發現是密碼錯誤的原因,可以跳過密碼後在修改。只需要在MySQL的配置檔案中新增一句skip-grant-tables在登陸不輸入密碼即可成功!詳細過程請檢視這篇部落格CentOS免密登入Mysql


在這裡插入圖片描述

至此 結束。