mysql數據庫出現無法登錄(ERROR 1045 ),預防和解決及系列問題解決方法。


 
一 .當在windows下使用mysql數據庫時,出現無法登錄的現象,需要修改mysql數據庫的roo密碼時,我們可以使用一下兩種方法。
1.
(1)關閉mysql服務。然后在bin目錄下使用cmd運行命令mysqld.exe --skip-grant-tables;
(2)使用新的cmd命令,打開mysql.exe 免密碼登錄。
(3)使用命令use mysql,切換到MySQL數據庫
    update user set password=password('123456') where user='root';   
    設置密碼為123456
(4)flush privileges;  刷新權限
(5)exit  退出
2.找到my.ini文件,記事本打開,在mysqld下面添加skip-grant-tables,然后重啟mysql服務,在使用mysql.exe免密碼登錄。其他步驟如上。
 
flush privileges 
flush privileges 命令本質上的作用是將當前user和privilige表中的用戶信息/權限設置從mysql庫(MySQL數據庫的內置庫)中提取到內存里。MySQL 用戶數據和權限有修改后,希望在"不重啟MySQL服務"的情況下直接生效,那么就需要執行這個命令。通常是在修改ROOT帳號的設置后,怕重啟后無法再 登錄進來,那么直接flush之后就可以看權限設置是否生效。而不必冒太大風險。
 
二.關閉或者重啟mysql服務的方法有兩種:
1.右擊我的電腦(計算機),點擊管理,找到服務和應用程序,打開,服務,找到mysql服務,右鍵,有關閉,啟動和重啟。
2.使用net start 命令,打開cmd,使用命令:net start mysql  打開服務,使用命令:net stop mysql  關閉服務。
 
當使用net start mysql或者net stop mysql命令時出現:

顯示服務名無效

有以下兩種解決方法:
使用以下方法時,需要切換到管理員身份!檢測當前是否為Administrator身份,若不是,以下步驟:
開始->關機邊上小三角->切換用戶,選擇administrator,若沒有administrator用戶。右擊 我的電腦(計算機)點擊管理,選擇本地用戶和組,找到Administrator,雙擊,找到一下界面:
將賬戶已禁用前面的勾去掉。應用,然后重復,開始->關機邊上小三角->切換用戶,切換成Administrator用戶。進行以下操作。(建議方案二)
 
方案一:cd到mysql 目錄下 輸入命令 mysqld –initialize,初始化后mysql才有data文件夾。
方案二:打開cmd,輸入mysqld.exe -install   
                Service successfully installed.
 
–initialize會重置root密碼,並生成一個隨機的臨時密碼,下次登錄需要用這個密碼。
按照文檔說,這個臨時密碼會顯示在cmd窗口,但並沒有。原因在於當初初始化時應該用 –console選項來輸出,在沒有輸出的情況下,這個密碼會被記錄到log中。於是開始看log存在哪里。發現 mysql的log文件是二進制的,而且有很多log文件。
最終解決辦法:
新建一個txt文件,里面寫上修改密碼的SQL語句。
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass’;
然后啟動mysql服務器
mysqld –init-file=path:\initfileNamealerty
執行后,即可修改root密碼。 
 
三.mysql8.0出現無法登錄問題,使用--skip-grant-tables時,報錯且無法使用。
我使用的方式有下面兩種:
1.
(1)新建一個txt文件,里面寫上修改密碼的SQL語句。
        ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass’;
(2)啟動mysql服務器
        mysqld –init-file=path:\initfileNamealerty
        執行后,即可修改root密碼。 
2. 
(1)停止MySQL服務
   cmd命令:net stop mysql
(2)打開my.ini文件
    加入:ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678'; 引號里面的的信息為賬號和密碼保存;
(3)進入MySQL安裝的bin目錄
   執行:mysqld --defaults-file="路徑\my.ini"  
(4)等待執行過后重新打開my.ini 去掉剛才添加的內容保存
(5)重啟MySQL
    net start mysql
    使用新密碼 12345678 登錄即可
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM