2015-12-29 26 views
20

我使用二進制zip安裝了MySQL社區服務器5.7.10。我提取了c:\mysql中的壓縮文件,並在c:\mysql\data中創建了數據文件夾。我創建了配置文件my.ini,並將其放入c:\mysql(提取的壓縮文件的根文件夾)。下面是my.ini文件無法打開和鎖定權限表:表'mysql.user'不存在

# set basedir to your installation path 
basedir=C:\mysql 
# set datadir to the location of your data directory 
datadir=C:\mysql\data 

我試圖用mysqld --console啓動MySQL的內容,但該過程被中止,並下面的錯誤。

2015-12-29T18:04:01.141930Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist 
2015-12-29T18:04:01.141930Z 0 [ERROR] Aborting 

任何幫助,將不勝感激。

+0

我認爲這[SO後(http://stackoverflow.com/questions/9083408/fatal-error-cant-open-and-lock-privilege-tables-table-mysql-host-doesnt- ex)可能會有所幫助.. – vmachan

回答

39

你必須通過運行下面的命令

mysqld --initialize [隨機根密碼]

mysqld --initialize-insecure [空白根密碼]

+4

但是,這不適用於MySQL ** 5.6 **及更低版本。我們將如何處理錯誤:無法打開和鎖定特權表:表'mysql.user'不存在'然後在這樣的版本?究竟是什麼*導致了這個問題,如何在沒有安裝的情況下修復? – Pacerier

+2

找到相關主題:http://dba.stackexchange.com/q/115701/9405和http://superuser.com/q/660078/78897 – Pacerier

2

的mysqld --initialize初始化數據目錄初始化數據目錄然後mysqld &

如果你已經啓動mysqld &沒有mysqld - 初始化你可能不得不刪除你的數據目錄中的所有文件

你也可以修改/etc/my.cnf來爲你的數據目錄添加一個自定義路徑,如下所示:

[mysqld] 
... 
datadir=/path/to/directory 
相關問題