1. 程式人生 > >mysql8.0版本skip-grant-tables出現的新問題

mysql8.0版本skip-grant-tables出現的新問題

不知道 技術 blog protocol directory 關閉 ces itl tables

MySQL 初始化 mysqld --initialize 的時候會有密碼,就這個樣子,

技術分享圖片

可是畢竟總有人跟我一樣,不熟悉安裝過程,沒有註意這一密碼這一項,導致你現在不知道密碼的尷尬處境,或者說你是正常用了某一天腦子短路忘了密碼,

那麽網上查到很多方法會告訴你,往 ini 裏配置 skip-grant-tables,確實是正確的方法,

不過你會陷入另一個坑,你的 MySQL 服務一啟動就會立刻自動關閉,

Can‘t connect to MySQL server on xxx (10061)

這就尷尬了,想跳過密碼驗證又遇到服務秒死,

我們從data文件的日誌文件中看到有這樣的 error

[ERROR][MY-010131] [Server] TCP/IP, –shared-memory, or –named-pipe should be configured on NT OS 
[ERROR][MY-010119] [Server] Aborting 
[Warning][MY-011311] [Server] Plugin mysqlx reported: ‘All I/O interfaces are disabled, X Protocol won’t be accessible’

就在這裏我卡了半天,終於找到了正確的辦法,我也分享一下,這裏是她的地址:https://blog.csdn.net/sinat_38003757/article/details/82683747

原來是因為 8.0 ,就是因為我們用的是 mysql8.0 以上版本,版本新問題,果然我在 ini 裏加上了 shared-memory 之後就能用了(現在再看error內容好像人家說的挺清楚)。

但是新的問題又來了(如果沒有可以忽略,反正我是遇到了),當我遇到了一個問題(忘了是什麽了),反正就是要初始化 即 mysqld --initialize 的時候,又出現了問題,從日誌文件裏,來看一下

[ERROR] --initialize specified but the data directory has files in it. Aborting.
 [ERROR] Aborting

問題的原因是你的路徑中已經有一個 data 文件,所以把 data 直接刪了就行。接下來就順利了,記得 copy 一下密碼哦。

感嘆一下,一代版本一一代坑,最近把好幾個東西更新了,碰了不少坑,雖然有收獲但是好像沒這個必要。以後如果不是確實有必要,還是少走新路子,這些個坑坑窪窪還是等別人都燙平了再來吧,不然太浪費時間,沒有必要。

mysql8.0版本skip-grant-tables出現的新問題