解决windows下的mysql匿名登陆无法使用mysql数据库的问题
来源:互联网 发布:中药大词典软件 编辑:程序博客网 时间:2024/05/19 12:18
我在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 等等,我都是通过他们才安装成功的。
现在登录都是需要输入密码了~~~
文章出处:http://www.cnblogs.com/bangbangjiang/p/3564321.html
- 【MySQL】解决windows下mysql匿名登陆无法使用mysql数据库的问题
- 解决windows下的mysql匿名登陆无法使用mysql数据库的问题
- 解决windows下的mysql匿名登陆无法使用mysql数据库的问题
- linux下mysql 使用mysql -uroot -p输入密码无法登录问题的解决
- windows下mysql数据库的基本使用
- windows下的MySql:登陆退出
- 一步解决Mac OS下MySQL数据库无法输入汉字的问题
- mysql 解决拒绝登陆的问题
- **解决mysql 1045拒绝登陆的问题**
- 解决mysql数据库中无法插入中文数据的问题
- 解决mysql数据库无法插入中文的问题
- 解决 wampserver 中无法启动mysql数据库的问题
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限 无法使用新增的用户登陆mysql
- Linux下解决MySQL中文无法储存的问题
- Windows下Qt连接Mysql数据库的方法,解决QSqlDatabase: QMYSQL driver not loaded 问题
- Windows下Qt连接Mysql数据库的方法,解决QSqlDatabase: QMYSQL driver not loaded 问题
- windows 下 解决 QT 与 mysql 数据库 驱动问题的本质
- Ubuntu14.04下MySQL数据库无法远程访问的问题
- 那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)
- “J.U.C”:Condition
- MySQL 数据库开发的 36 条军规
- centos6.5环境下sysbench
- 数据库增删改查使用的函数封装
- 解决windows下的mysql匿名登陆无法使用mysql数据库的问题
- coordinator.py
- media响应式布局
- centos7重装防火墙【L】
- github学习
- Java Socket
- Hibernate_操作对象_Session中的refresh()方法与修改事务隔离级别详解
- 基于底层 API 的事务管理
- Objective-C——中文URL编码和解码