CentOs 7.6 Mysql服務無法啟動的情況下,還原資料庫
阿新 • • 發佈:2020-12-25
技術標籤: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
至此 結束。