解决windows下的mysql匿名登陆无法使用mysql数据库的问题
2014-12-29 10:58
483 查看
本文转自 /article/5347852.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 等等,我都是通过他们才安装成功的。
现在登录都是需要输入密码了~~~
相关文章推荐
- 解决windows下的mysql匿名登陆无法使用mysql数据库的问题
- 解决windows下的mysql匿名登陆无法使用mysql数据库的问题
- 解决windows下的mysql匿名登陆无法使用mysql数据库的问题
- 【MySQL】解决windows下mysql匿名登陆无法使用mysql数据库的问题
- 解决mac使用homebrew安装MySQL无法登陆问题
- 解决windows无法使用系统搜索功能的问题
- 如何解决使用远程工具登陆mysql,缺乏权限的问题
- Mac os 解决无法使用localhost连接mysql问题
- 远程Linux服务器修改Mysql数据库编码及解决编码修改后Mysql无法启动的问题
- 局域网共享资源路径更改无法登陆问题(不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接)解决
- windows下共享用户在服务端被禁用后,使用新用户无法登陆共享的解决办法
- MySQl使用-------如何修改root密码&&解决本地无法登录问题
- Windows下游戏程序使用32位的dll文件-解决“应用程序无法正常启动0xc000007b”问题
- Ubuntu下MySQL Query Browser无法登陆??HELP!(问题已解决)
- Mac os 解决无法使用localhost连接mysql问题
- linux下mysql 使用mysql -uroot -p输入密码无法登录问题的解决
- mysql登陆很慢问题解决方法(windows下)
- MySql使用全记录5 -----解决Windows下用命令导入sql文件时"Failed to open file"的问题
- OP:windows 2008 安装之后无线网无法使用问题解决(Windows 2008 Wireless)
- 使用innodb_force_recovery解决MySQL崩溃无法重启问题