使用MySQL時遇到的各種坑

weixin_44154096發表於2020-11-14

我使用的M有SQL版本是8.0,對應下載了Navicat來運算元據庫。
下面分享一些之前使用MySQL時遇到過的坑以及解決方案:
第一次出現問題是在我交一個網路爬蟲的課設的前一天晚上,我的資料庫突然就無法連線了,當時宿舍都已經斷電了,第二天早上就要答辯,心態瞬間就崩了。
找到的第一個問題是我的Navicat使用期過了,都是筆記本自動更新的鍋,花了一點時間重新搞了個破解版之後Navicat能用了。然後連線資料庫,一直給我報無法連線。然後啟動命令列進資料庫,輸入設定的密碼後報了這個錯:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES),所以是密碼自動被改了,反正密碼怎麼輸都不對了。
密碼錯誤一般有兩個解決方案:
第一個簡單粗暴,直接解除安裝資料庫重灌,但這樣資料庫裡面的東西就沒了。
第二個就是找部落格找解決方案:網上有很多解決方案其實,我借鑑的是下面這篇。

https://blog.csdn.net/qq_43342301/article/details/91288891

上面連結中博主講的很詳細,關於怎麼在忘記資料庫密碼的情況下重置資料庫密碼,重置後其實之前的資料庫也沒了,但總比解除安裝重灌好。

第二個問題是伺服器無法啟動的問題,大家遇到該問題的時候可以嘗試用我下面說的方法解決:
先找到MySQL所在的資料夾目錄,用管理員模式進入,建立一個start_mysql.bat和一個stop_mysql.bat的檔案。其實名字可以隨便命名,只要是.bat檔案就行。
設定start_mysql.bat檔案內容如下:

echo off
set path=%~dp0
echo install mysql service...
echo %path%
cd %path%\bin\
mysqld.exe --remove mysql 
mysqld.exe --initialize          //新增這一行
mysqld.exe --install mysql   
echo start mysql Serviceo
"%SystemRoot%"\system32\net start mysql  
設定remove_mysql.bat檔案內容如下:
echo off
set path=%~dp0
echo remove mysql service...
echo stop mysql Service
cd %path%\bin\
"%SystemRoot%"\system32\net stop mysql
mysqld.exe --remove mysql

隨後用管理員模式開啟命令列,在MySQL的目錄下啟動start_mysql.bat就行了。
啟動資料庫服務
要注意的是,生成data目錄後,記得先關閉mysqld.exe服務,然後刪除掉start_mysql.bat指令碼里新增的 mysqld.exe --initialize 這一行。以後使用start_mysql.bat不再需要初始化這一步驟。

關閉資料庫的話只要啟動stop_mysql.bat就行了。
關閉資料庫服務

https://www.cnblogs.com/azbane/p/9814747.html
更詳細的操作大家可以去看上面連結中博主的文章。

第三個問題是時區設定的問題,在連線資料庫時經常會遇到時區報錯的問題,導致無法連線資料庫。ERROR:Server returns invalid timezone. Go to ‘Advanced’ tab and set ‘serverTimezone’ prope
解決方案:
1.進入命令視窗(Win+R),連線資料庫 mysql -u root -p,輸入密碼後進入資料庫。
2.輸入 show variables like’%time_zone’;
在這裡插入圖片描述
顯示SYSTEM就是沒有設定時區。
3.如果沒有設定時區我們接下來輸入set global time_zone = ‘+8:00’;
在這裡插入圖片描述
這時重新連線資料庫就能成功了。

https://blog.csdn.net/liuqiker/article/details/102455077
更詳細的操作可以看上面連結中的博主的文章。

相關文章