mysql - Windows 10 上 MySQL 8.0.16 的登录问题
问题描述
我MySQL 8.0.16
使用官方在线安装程序从这里安装在 Windows 10 上。我能够成功安装它,但是在尝试以 root 身份登录时,我无法克服此错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
我试过了
重置密码。
使用安装程序更改身份验证插件。
使用 SQL 更改身份验证类型。
更改 MySQL Workbench 向服务器发送密码的方式。
使用命令行登录
卸载和重新安装
最后我安装了 MySQL 5.7.26,它工作正常。我认为 Windows 10 上的 8.0.16 版本存在错误。其他人有这个问题吗?
更新
这个问题不是重复的How to reset MySQL root password
。我总是有正确的密码,但它不起作用。
经过多次试验,我认为问题在于我在密码中使用了单引号。但安装人员没有抱怨。
解决方案
我刚刚确认,如果您在 root 密码中使用单引号,安装程序不会抱怨,但您将无法使用密码登录。
即使您使用安装程序的Reconfigure
选项来检查您的密码,检查也可以。即会显示一个绿色勾号。但是 MySQL 服务器不会接受它。
我能够使用此处指定的官方方法重置 root 密码。
- 停止 MySQL 服务器服务。
- 创建一个以
mysql-init.txt
内容命名的文件:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpasswd';
- 将其保存到您的用户文件夹。
- 在管理员模式下打开命令提示符。
- 执行以下操作。(将位置和用户名替换为您自己的)
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\Users\\UserName\\mysql-init.txt --console
- 您可能必须退出命令
CTRL+C
- 删除
mysql-init.txt
文件。 - 启动 MySQL 服务器服务。
- 使用您的新密码登录。
推荐阅读
- sql - 根据 Access SQL 代码中的另一个表索引和匹配字段名称
- xml - 在 XSLT/XPATH 中找出变量的数据类型
- python - 夸脱的 FLASK_APP
- jasmine - 如何在测试描述中使用在 beforeEach 中初始化的变量?
- reactjs - reactjs重新加载页面时如何修复404
- windows - 如何在 Lua 控制台/终端中获取颜色
- sql - 根据用户访问识别表的架构
- java - 将数据从 BroadcastReceiver 发送到 Widget 并在显示上更新数据时出现问题
- sql-server - 如何从具有三个文本列的表创建矩阵
- laravel - 在 Laravel 应用程序中刷新浏览器后会话数据丢失