這里參考了兩篇文章
解決Xampp中mysql無法啟動的問題_xampp里面mysql的stop啟動不起來-CSDN博客
mysqli_real_connect(): (HY000/1045): Access denied for user ‘root‘@‘localhost‘ (using password: YES-CSDN博客
相信很多和我一樣,很久沒登xammp突然數據庫打不開,但是日志沒有報錯,看了一些文章,估計就是因為一些莫名的原因導致數據庫數據損壞?,接下來開始解決
先將mysql下的data數據全部備份
然后刪除data,新建data文件夾找到mysql安裝目錄下的bin目錄,運行:
mysql_install_db
這樣就將數據庫初始化了,此時默認的用戶是root,并且是沒有設置密碼的,這時候phpmyadmin可以登入了,然后把我項目的數據庫(secondhand_db)和ibdata1復制過去,這里可能會有一個問題,這時候我報錯了mysqli_real_connect(),解決辦法看分享的第二篇文章
這時候可能有個詭異的錯誤,什么錯誤?就是看似你的數據庫可以登入,而且你的項目數據庫也可以顯示?,但是項目數據庫中的表顯示沒有表!這里就是但InnoDB 引擎的元數據丟失或不一致,MySQL 無法識別表。這就是直接復制文件夾的缺點!
但是為什么說詭異呢???因為當時我直接將備份的所有數據庫文件夾復制到data下面,它這時候肯定還是報錯,所有當時我就ctrl+z還原了,然后就有用了!但是我懶得重新刪了數據庫再嘗試一遍,所有我猜測這個方法還是有用,只是有點吃運氣
所以備份數據庫不能直接備份文件夾,直接備份sql文件,這樣哪怕mysql又打不開了,直接重置數據庫,然后sql一鍵導入就行,導出數據庫的sql文件也簡單
先選你要導出的數據庫,然后導出
然后導出
?這問題搞了我很久,我第一次碰見這問題的時候甚至直接刪了xammp,然后導致我的項目源碼都刪了(沒有備份),導致我重新開發一遍,這是第二次,本來都準備重新建數據庫,沒想到意外成功了,備份很重要!!!!