解決windows下的mysql匿名登陸無法使用mysql數據庫的問題


轉載請注明出自博客園,附加上本文的鏈接http://www.cnblogs.com/bangbangjiang/p/3564321.html   謝謝~

 

我在windows下安裝了mysql,但是不用密碼就能登進去,而root明明是有密碼的,我用select user()命令查看當前登錄用戶是root。

查看數據庫,只能看到自帶的兩個數據庫(information_schema和test),mysql這個數據庫都看不到。如果運行use mysql,就會出現 Access denied for user ''@'localhost' to database 'mysql', 這說明這是匿名登錄的,幾乎什么權限都沒有。即使用mysql -u root登錄也是提示這個。

網上搜了很多資料,大多數是教的怎么在linux下解決這個問題。

我綜合了大多數的方法,自以為找到了解決的辦法,所以特意在博客園這里寫下這篇文章:

 

1.首先,網上的資料都提到了需要關閉mysqld這個服務來屏蔽權限檢查,我查看了任務管理器,發現的確有一個叫mysqld.exe的程序在運行:

直接關閉這個進程

我查閱了幫助手冊,”MySQL服務器也就是mysqld,是在MySQL安裝中負責大部分工作的主程序。服務器隨附了幾個相關腳本,當你安裝MySQL時它們可以執行設置操作,或者是幫助你啟動和停止服務器的幫助程序。“ 我估計它相當於mysql的守護進程,不停止它就無法設置啟動腳本。

 

2.網上都提到了

mysqld-nt --skip-grant-tables

mysqld_safe --skip-grant-tables

safe_mysqld --skip-grant-tables 等關閉權限檢查的方法,但是我在CMD命令提示符下輸入都提示:“mysqld_safe”不是內部或外部命令,也不是可運行的程序或批處理文件。

於是我查看mysql安裝目錄下的bin文件夾里有哪些相關的文件:

(1)mysqld.exe (2)mysqld_multi.pl

我查看了幫助手冊,“在Unix和NetWare中推薦使用mysqld_safe來啟動mysqld服務器。mysqld_safe增加了一些安全特性,例如當出現錯誤時重啟服務器並向錯誤日志文件寫入運行時間信息。為了保持同舊版本MySQL的向后兼容性,MySQL二進制分發版仍然包括safe_mysqld作為mysqld_safe的符號鏈接。默認情況下,mysqld_safe嘗試啟動可執行mysqld-max(如果存在),否則啟動mysqld。”  

我估計mysqld_safe是mysqld.exe文件里的一個啟動選項。所以我嘗試了這樣輸入:

先跳轉到mysql的bin目錄下,再輸入mysqld --skip-grant-tables。這時候有可能一直沒有反應的樣子,不會生成新的一行輸入。

實際上它已經停止了權限檢查,我們可以進行其他操作了。

 

3.重新打開一個cmd命令提示符窗口,進入到mysql里面,然后輸入use mysql,就會發現成功了!:

看到沒?上面最后一行提示的是Database changed!!

如果你輸入show tables就會看到這個數據庫下有個表叫user,記錄了登陸的賬戶名和密碼。

所以你可以這樣修改root賬戶的密碼:

UPDATE user SET Password=PASSWORD('123') WHERE user='root';

 貌似還要加上一句:mysql>flush privileges;重新加載權限表。

這時你使用MySql Command Line Client登陸的話,就會要求輸入密碼123了!你已經不是匿名登陸,所以可以進行各種操作了!!!

 

更新

后來我發現每次重啟過電腦之后,都是匿名登陸。研究了一番之后,我明白了為什么會這樣。因為我安裝的時候在最后一步少勾選了一個配置選項:
mysql server instance configuration wizard

詳細教程可參見,我覺得它說得蠻詳細的:http://blog.163.com/tao198352__4232/blog/static/85020645201061810038491/

如果出現start service失敗的情況,可以參見:http://blog.163.com/capple_wang/blog/static/1221480420091245340696/

http://www.3eyes.org/POST/mysql.error0.asp 等等,我都是通過他們才安裝成功的。

現在登錄都是需要輸入密碼了~~~

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM