今天使用mysql時遇到:Access denied for user 'root'@'localhost' to database
注意在此時輸入show databases;隻顯示了兩個庫,沒有"mysql"庫。
原因是:此時使用者使用的是匿名登入,權限不對,是以"mysql"資料庫找不到了。
網上流傳的解決方案為:
關閉mysql:
# service mysqld stop
然後:
# mysqld_safe --skip-grant-tables
啟動mysql
# service mysqld start
在windows下親測無效,這些指令是Linux下指令。
那麼對應的windows下解決方案:
關閉服務:
net stop mysql
修改權限:
mysqld-nt --skip-grant-tables
開啟服務:
net start mysql
此處如果報"'mysqld-nt'不是内部或外部指令"
就是環境變量問題,将mysql安裝目錄的bin目錄添加到環境變量,具體方式不綴述。
在部落客機子上的目錄為"C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin"。
留意一下會發現,該目錄下有mysqld-nt.exe。