MySQL 1045登陸失敗

       當你登陸MySQL數據庫出現:Error 1045錯誤時(以下圖),就代表你輸入的用戶名或密碼錯誤被拒絕訪問了,最簡單的解決方法就是將MySQL數據庫卸載而後重裝,但這樣的缺點就是就之前的數據庫中的信息將丟失,若是你不想重裝,那麼就須要找回密碼或者重置密碼。解決的方法應該有多種,這裏我推薦你們使用一種原理經過,操做簡單的方法,適用於windows以及linux平臺。 mysql

MySQL 1045錯誤如圖:linux

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


解決方案:

一、  中止服務:中止MySQL服務;sql

二、  跳過驗證:修改MySQL安裝目錄下的my.ini配置文件,使登陸時跳過權限檢查;數據庫

三、  修改密碼:啓動MySQL服務,登陸MySQL,此時提示輸入密碼,輸入任意密碼回車便可進入MySQL。而後經過SQL語句修改root用戶的密碼;windows

四、  重啓服務:將my.ini文件中加入的跳過權限語句刪除或加#號註釋。重啓服務,使用修改後的密碼登陸便可。函數

Windows系統具體操做:

一、  中止服務:工具

方法1:使用dos命令net stop mysql便可;使用這種方式MySQL服務必須爲安裝的服務,不然spa

會出現服務名無效,這時可使用第二種方法。code

方法2:進入【控制面板】-->【管理工具】 -->【服務】,找到MySQL服務,點擊左邊的中止。進程

二、  跳過驗證:

進入MySQL的安裝路徑(以默認安裝路徑爲例)C:\Program Files\MySQL\MySQL Server 5.1\,找到my.ini配置文件(些文件記錄MySQL的常規參數,每次啓動服務都會先加載此文件),在my.ini配置文件的最後一行加入skip_grant_tables,此語句能夠忽略登陸檢查。

三、  修改密碼:

啓動MySQL服務,進入dos環境,輸入mysql -u root -p登陸MySQL(若是安裝時沒有勾選添加

環境變量,須要先使用cd命令進入MySQL安裝目錄),此時提示輸入密碼,輸入任意密碼回車便可進入MySQL,出現mysql>控制符,此時表示已經成功登陸MySQL

mysql> USEmysql   (將數據庫切換至mysql庫中)

mysql> UPDATE user SET password=PASSWORD(‘newpswd’)WHERE user=’root’          (修改密碼)

password函數爲MySQL內部函數,其中newpswd爲修改後的新密碼。

四、  重啓服務:

my.ini文件中加入的跳過權限語句刪除或加#號註釋。重啓服務,使用修改後的密碼登陸便可。

 

Linux系統具體操做:

一、  中止服務:

執行:/etc/init.d/mysqlstop

(你的機器不必定是/etc/init.d/mysql也多是/etc/init.d/mysqld,能夠經過find命令查找)。

二、  跳過驗證:

執行:/usr/local/mysql/bin/mysqld_safe--skip-grant-tables >/dev/null 2>&1 &

(若是mysqld_safe的位置若是和不同須要修改,若是不清楚能夠用find命令查找)。

三、  修改密碼:

執行:

/usr/local/mysql/bin/mysql -u root mysql      (登陸mysql

mysql> UPDATE userSET password=PASSWORD(‘newpswd’)WHERE user=’root’  (修改密碼)

mysql>flush privileges      刷新MySQL權限相關的表)

mysql>exit                         (退出MySQL

四、  重啓服務:

執行:

killall mysqld                      (殺死mysql進程)

/etc/init.d/mysql start      (啓動mysql服務)

相關文章
相關標籤/搜索