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 登陸便可
相關文章
相關標籤/搜索