繁体   English   中英

卸载旧版本的MySQL后,在Windows上全新安装MySQL 5.6.15时,访问被拒绝用户'root'@'localhost'“

[英]“Access denied for user 'root'@'localhost'” on a fresh install of MySQL 5.6.15 on Windows after uninstalling an older version of MySQL

所以,我刚刚在我的Windows机器上安装了MySQL 5.6.15,但出于某种原因我无法使用没有密码的“root”登录。

C:\web\mysql-5.6.15-win32\bin>mysql.exe -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

但是我可以使用“ODBC”登录而无需密码:

C:\web\mysql-5.6.15-win32\bin>mysql.exe
Welcome blah blah blah
mysql> SELECT USER();
+----------------+
| USER()         |
+----------------+
| ODBC@localhost |
+----------------+
1 row in set (0.00 sec)

为什么我不能使用没有密码的“root”登录? 我已经尝试卸载MySQL并重新安装它,但无济于事。

我仍然不知道为什么没有密码的“root”帐户默认情况下,但这是我解决问题的方法:

  1. 停止MySQL服务(mysqld.exe)
  2. 使用以下参数启动MySQL服务: - --skip-grant-tables
  3. 以root mysql.exe -u root登录MySQL(mysql.exe): mysql.exe -u root (由于步骤2,它不需要密码)
  4. 执行以下查询: UPDATE mysql.user SET Password=PASSWORD('') WHERE User='root'; FLUSH PRIVILEGES; UPDATE mysql.user SET Password=PASSWORD('') WHERE User='root'; FLUSH PRIVILEGES;
  5. 退出MySQL
  6. 停止MySQL服务
  7. 使用--skip-grant-tables参数启动MySQL服务

好的,我想我发现了问题所在:

我通过执行以下操作卸载了MySQL 5.1.70:

C:\web\mysql-5.1.70\bin>mysqld.exe --remove

有效。

然后我做了安装MySQL 5.6.15

C:\web\mysql-5.6.15-win32\bin>mysqld.exe --install

似乎工作。 实际上,它所做的是重新安装旧版本。

解决方法是在运行mysqld.exe --install之前重命名或删除旧文件夹(C:\\ web \\ mysql-5.1.70)--install

编辑:现在我明白了。 C:\\web\\mysql-5.1.70\\bin在我的路径中......

卸载旧版本后,当我在Windows上全新安装Mysql时,我遇到了同样的安全问题。 我想出了一种可以解决问题的方法:

安装新版本的MySQL后,转到MySQL \\ MySQL Server 5.5 \\ bin并启动MySQLInstanceConfig.exe 这将帮助您重置密码,配置将运行良好

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM