如何解決mysql stop fail的問題

2022-02-22 07:49:50 字數 1749 閱讀 7735

最近在學習mysql,碰到了乙個mysql stop fail的問題,在這裡把碰到的問題以及解決的過程寫出來,不是這個問題有多難,而是我在解決此問題的過程中沒有發現乙個行之有效的解決問題的中文網頁,搞得白白浪費了很多時間。在這裡我把解決的過程寫下來,希望給後來者解決相同的問題節省點時間。好了,廢話不多說,開始進入正題。

我的作業系統環境是ubuntu 14.04,64位,安裝mysql過程如下:

由於更改了mysql的配置檔案,需要重啟一下mysql,我通過下面兩個命令來stop mysql:

當然也試過網上所說的service mysql stop,然後並沒有卵用。在搜尋了多次以後,最後在乙個英文的論壇中找到的解決方法。在該問題的版面也有很多的回答者給出了「方法」,只有一位給出的方法解決了我的問題。

該問題的解決過程是這樣子的:

1、以root許可權登陸mysql,執行如下的sql語句:

select user from mysql.user

看看在mysql資料庫下的user表中是不是存在乙個名為:debian-sys-maint的使用者,執行上面的sql語句在我的機器上返回的結果如下圖所示:

如果在你的查詢返回的結果集中不存在使用者debian-sys-maint,那麼你需要執行第二個步驟,如果有debian-sys-maint使用者,那麼你需要執行第三個步驟。

2、執行sql語句:create user 'debian-sys-maint『@'localhost' identified by 'password'

我簡單解釋一下該sql語句:建立乙個名為debian-sys-maint的使用者,password為該使用者使用mysql的密碼,那麼password欄位的值我們如何指定呢?是任意指定嗎?不是,password欄位的值得需要與檔案/etc/mysql/debian.cnf中的debian-sys-maint的密碼保持一致,在我的機器上/etc/mysql/debian.cnf檔案的內容如下:

3、如果執行了第二步了,那麼你就可以成功stop mysql,不需要執行第三步了。第三步的過程如下:

首先執行如下的sql語句,檢視debian-sys-maint所在行的password欄位的值與/etc/mysql/debian.cnf中的debian-sys-maint所對應的password是否相同,

由於在mysql中密碼是被加密儲存的,所以我們根本無法比較兩個密碼,由於我們需要的是兩處的密碼保持一致,所以執行下面的sql語句:

update user set password=password("password from /etc/mysql/debian.cnf") where user='debian-sys-maint'

此處password from /etc/mysql/debian.cnf為在/etc/mysql/debian.cnf檔案中debian-sys-maint所對應的密碼,大家千萬別搞錯了。

這樣就可以成功stop mysql了。

多說一句,大家平時解決問題還是多採用英文,中文的東西魚龍混雜,很多噪音,不僅不能幫你解決問題,還把帶到溝裡,白白浪費時間。

好了,還是最後標誌性的那句話:我所說的都是錯的,當然也包括這一句。

如何解決併發

雖然從巨集觀上,處理器是並行處理多項任務,但本質上乙個處理器在某個時間點只能處理乙個任務,屬於序列執行。在單處理器的情況下,併發問題源於多道程式設計系統的乙個基本特性 程序的相對執行速度不可 它取決於其他程序的活動 作業系統處理中斷的方式以及作業系統的排程策略。在分布式環境下,併發產生的可能性就更大...

如何解決藍屏問題

第一步 公升級筆記本bios 一般說來筆記本在出廠的時候很可能設計上存在某些的瑕疵,而廠商通常會採用公升級bios的方法來解決這些bug。如果我們在使用筆記本腦的過程中遇到了藍屏的情況,那麼我們可以採取公升級bios的辦法來解決藍屏的故障。第二步 正確安裝硬體驅動 在重新整理了bios以後,部分筆記...

如何解決「重複定義」

標頭檔案中一般只包含宣告,不包含變數的定義,如果沒辦法必須在標頭檔案中包含定義的話,多次引用該標頭檔案時,常遇到函式或者變數被重複定義的錯誤,比喻file1.h中定義了int a file2.h中也定義了 int a 此時在file.c中既包含file1.h也包含file2.h,在預編譯是,file...