我一直在尝试在工作台上创建一个新的数据库连接。但是,每次我测试连接时,都会显示一条错误消息
无法在 127.0.0.1:3306 连接到 mysql,用户 'root'@'localhost' 的用户 root 访问被拒绝(使用密码:YES)
我不知道这个错误的原因是什么。我已尝试卸载并重新安装我的工作台 6.1 和 mysql 服务器 5.6,但错误仍未解决。
首先检查是工作台还是连接问题。
1)在你的窗口运行'cmd'打开一个终端
尝试两者
2a) mysql -u root -p -h 127.0.0.1 -P 3306
2b) mysql -u root -p -h > localhost -P 3306
3)如果连接良好,您将收到密码提示,看看您是否可以使用正确的密码连接。
如果您的连接被拒绝,只需授予权限
mysql >GRANT ALL ON [DatabaseName].* TO 'root'@'127.0.0.1' IDENTIFIED BY '[PASSWORD]';
如果您的连接在这里被接受,这就像一个工作台配置问题。
我有同样的问题。我在 Ubuntu 上安装了新的 mysql,但我将 mysql 密码留空,因此我无法以任何方式连接到 mysql。最近我透露有一个用户表,其中包含名称、主机、密码和一些插件。因此,对于我的用户 root@localhost mysql 在安装时分配了一个名为 auth_socket 的插件,它允许 Unix 用户“root”以 mysql 用户“root”身份登录而无需密码,但不允许以另一个 Unix 用户身份登录。因此,要解决此问题,您应该关闭此插件并设置常规身份验证:
打开 Linux 终端输入“sudo mysql”,您将看到“mysql >”,这意味着您已经以 'root' Unix 用户身份连接到 mysql,并且可以键入 SQL 查询。输入 SQL 查询以更改登录方式: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';其中 'mysql_native_password' 表示 - 关闭 auth_socket 插件。
sudo mysql
,如果它让您进入,这意味着 auth_socket 插件已启用并且可能导致问题。顺便说一句,很好的答案,谢谢。
sudo mysql
时,我遇到了这个问题:ERROR 1045 (28000): Plugin caching_sha2_password could not be loaded: The specified module could not be found. Library path is 'caching_sha2_password.dll'
试试这个,它对我有用!
sudo mysql -u root -p
在终端内输入:
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
然后在 MySQL Workbench 中编辑连接并将根名称更改为 admin。
sudo mysql -u root -p
时,没有任何反应。那正确吗?没有输出,没有错误..
在运行 MySQL 5.7(及更高版本)的 Ubuntu 系统中,root MySQL 用户默认设置为使用 auth_socket 插件进行身份验证,而不是使用密码。这在许多情况下允许更高的安全性和可用性,但是当您需要允许外部程序(例如,phpMyAdmin)访问用户时,它也会使事情变得复杂。如果您在以 root 身份连接到 MySQL 时更喜欢使用密码,则需要将其身份验证方法从 auth_socket 切换到 mysql_native_password。资源
从终端打开 MySQL 提示符:
$ sudo mysql
接下来,使用以下命令检查每个 MySQL 用户帐户使用的身份验证方法:
mysql > SELECT user,authentication_string,plugin,host FROM mysql.user;
您将看到 root 用户实际上使用 auth_socket 插件进行了身份验证。要将 root 帐户配置为使用密码进行身份验证,请运行以下 ALTER USER
命令。请务必将密码更改为您选择的强密码:
mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
然后,运行 FLUSH PRIVILEGES
告诉服务器重新加载授权表并使您的新更改生效:
mysql > FLUSH PRIVILEGES;
再次检查每个用户使用的身份验证方法,以确认 root 不再使用 auth_socket 插件进行身份验证:
mysql > SELECT user,authentication_string,plugin,host FROM mysql.user;
您将在输出中看到 root MySQL 用户现在使用密码进行身份验证。
我在Windows中遇到了同样的问题。
任务管理器中的转到服务启动名为 MySQL80 的服务重新启动工作台
您应该安装在您的本地主机中托管的 mysql 服务器。然后安装工作台。如果您收到错误 GOTO:
(在 MAC 中:)
系统偏好设置>Mysql(将在底部列出,否则您的机器上没有安装服务器)。
检查服务器状态并启动 Mysql 服务器。
尝试使用默认端口号连接到 localhost。
我现在刚刚遇到这个问题,经过一些尝试,我发现访问服务>>选择 MySQLxx 服务,然后右键单击并点击开始,这解决了我的问题,一切正常,无需丢失数据。
只需返回安装程序并添加 SQL 服务器,如果它已经存在,只需重新配置它并从那里添加密码,
返回您的工作台并删除当前用户并使用您在服务器配置期间使用的相同密码创建一个新用户
不知道这是怎么发生的,但我遇到了同样的问题。我必须重置我的根密码:http://www.jovicailic.org/2012/04/reset-forgotten-mysql-root-password-under-windows/
但是在我之前的数据库被删除或新连接没有连接到它们之后。无论哪种方式,我都无法通过工作台访问它们。但我可以再次使用 MySQL,这对我来说是一个胜利
MySQL Installer Community -> MySQL Server Reconfigure -> Next -> Next -> Connection Name [Local instance or any other name] -> 点击 Password - Store in Vault... 并添加密码,然后 -> 测试连接。这个对我有用 :)
尝试这个,
我希望这能帮到您
从它自己的卸载选项中卸载了包括安装程序在内的所有内容。卸载所有与mysql有任何关系的程序从C:\ Program Files中删除mysql文件夹从C:\ ProgramData中删除mysql文件夹清除我的注册表,然后重新安装程序,但一切都是徒劳的。
如何重复:这是我所做的:
使用 mysql-installer-web-community-5.6.23.0.msi 安装它 出于我的目的,我选择“自定义”安装 MySQL 服务器 5.6.22 - X64 和 MySQL 连接器 -> 连接器 ODBC/5.3.4 - 64 下一步 -> 执行-(准备配置)-> Next Config type: Development machine, all defaults (TCP/IP, Port: 3306, Open firewall) 输入 MySQL Root Password MySQL user Accounts -> Add user (username, password, OK) ->下一步将 MySQL 服务器配置为 Windows 服务(已检查) Windows 服务名称:MySQL56(默认)在系统启动时启动 MySQL 服务这很重要(错误在这里):将服务运行为... 标准系统帐户(已检查 - 但它会被忽视,那是BUG)下一步->执行,安装在启动服务器上挂起,所以等待一段时间超时(或者不要,你的选择)。当对话框(可能被其他窗口覆盖)弹出消息“MySQL服务器的配置花费的时间比预期的要长...,这里单击确定(等待更长时间)
建议修复: 12. 同时转到开始 -> 控制面板 -> 管理工具 -> 服务 -> 找到 MySQL56,右键单击它 -> 属性 -> 选择登录选项卡,这里是错误 -> 虽然选择了本地系统帐户,不知何故“此帐户:选择了网络服务(带有一些密码)->选择登录为:本地系统帐户,允许服务与桌面交互->应用->返回常规选项卡
在常规选项卡上单击“开始”按钮以启动服务,就在这里!服务开始了!单击确定关闭 MySQL56 属性对话框。关闭服务对话框。关闭管理工具。关闭控制面板。到那时(当您关闭这些对话框时),当您查看 MySQl 安装程序对话框时,所有步骤都已完成并检查:启动服务器,应用安全性... 创建用户帐户.. 更新开始菜单链接以完成确认 -> 下一步 - >完成就是这样,快乐的MySQL-ing :)
来源:https://bugs.mysql.com/bug.php?id=76476
转到 Windows 上的搜索栏并搜索服务。启动服务并在长长的服务列表中查找 MySQLxx(xx 取决于您的 MySQL 版本)。右键单击 MySQLxx 并点击开始。 MySQL 现在应该可以正常工作了。
在查看了这么多解决方案答案之后,这是我的总结,对我有用。我一开始只安装了工作台 6.2,当连接到 localhost 时它失败了。
step1:检查是否安装了mysql服务器。如果没有,请下载并安装。
step2:mysql服务器配置推荐强密码,忽略它,选择legacy密码。
step3:启动mysql服务器(windows系统:services-->mysql-->start)
step4:打开工作台并创建本地连接。
我有同样的问题,但它对我有用。
检查你是否安装了mysql
如果您没有安装 mysql,请从此链接下载:https://dev.mysql.com/downloads/mysql/
按照此说明安装 https://dev.mysql.com/doc/mysql-osx-excerpt/5.7/en/osx-installation-pkg.html 您可以毫无问题地测试连接。
(对不起我的英语,我同意请修复我)
我希望我有所帮助。问候。
我认为问题是我们正在尝试连接到未运行的本地服务器。
我们需要先运行 MySQL
服务器,然后连接到它。
只需转到任务管理器> services 找到 MYSQL80
,然后启动服务。
https://i.stack.imgur.com/7CCPs.png
sudo mysql -u root -p mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abc@123'; sudo mysql-工作台
别担心。只需从开始菜单或您的程序文件打开 MySql Installer Community 并重新配置“Mysql Server”和“Samples and Example”专注于 Samples and Example config... 和 Mysql Server 上的 tik 标记,输入您的密码,点击检查,最后点击下一步并完成。希望你会看到成功的消息。谢谢你
我对 MySQL 8.0.23 版有同样的问题。
我通过以下方式解决了它:
1. 再次打开 Windows 的 msi 安装程序。
2. 在 MySQL 服务器中,我点击了“重新配置”。
3. 然后我点击以下步骤,直到进入“帐户和角色”,并在那里设置了“root”的密码。
4. 最后在 SQL Workbench 中,我转到 Manage Server Connections 并单击“store in Vault ...”,在那里我输入了与步骤 3 中相同的密码。
PS:这个过程还在windows上创建了MySQL服务,这也有助于解决这个问题。
我希望这是有帮助的
尝试在工作台上创建 mySQL 连接时,我也遇到了同样的问题。我的问题是我从 mysql.com 下载了不兼容的 mySQL .dmg 文件。重新安装 'macOS 11 (x86, 64-bit), DMG Archive' 而不是 'macOS 11 (ARM, 64-bit), DMG Archive' 解决了我的问题。我建议您尝试为您的操作系统重新安装兼容的 dmg 文件
谢谢。
我知道这很旧,但我也遇到过这个问题,但找到了一个对我有用的解决方法:
转到“名称”下的“服务”找到您的用户名右键单击并选择“开始”
转到您的 MySQL 工作台并在“INSTANCE”下选择“Startup / Shutdown”,您应该一切顺利。希望这可以帮助遇到此问题的任何人。
我将默认密码从“”更改为空白
这可能是由于版本问题而发生的。我有同样的问题,我降级了我的 mySQL 工作台并尝试了它。有效。
好吧,我遇到了这个问题,在 Mac os 上安装期间,我多次尝试删除 mysql 8.O 并重新安装,对于我的老式 mac,我发现的唯一解决方案是使用 CAKEBREW 服务并下载 5.7 mysql + 一个旧的Mysql Workbench 5.也,一切都很好,我会等到有人解决这个问题。
我希望您找到了其他解决方案。
TL;DR:没有安装 MySQL 服务器,只有 MySQL 工作台。
尝试在新计算机上设置 GitHub 项目后,我遇到了同样的问题。我注意到 Visual Studio 2019 给出了我的程序无法连接到 MySQL 服务器的错误,所以我打开了我的 MySQL Workbench,我也无法连接。
我花了很长时间才意识到我的新设备没有安装 MySQL 服务器。您可以在 dev.mysql.com 上下载它。出于某种原因,它首先更新了我的 MySQL 工作台,然后我才能安装 MySQL 服务器(也许我读得很快)。
如果您尚未安装 MySQL 服务器,请确保点击 this screen 上的 add。
在 Mac 上,不幸的是,上面的答案不起作用导致 ERROR 1045 (28000): Access denied for user 'root'@'localhost'
执行以下操作对我有用:
sudo su
mysql -uroot
set password = password("password");
我花了很长时间才弄清楚希望它对其他人有帮助。
以用户管理员(可能是 root 用户)身份访问数据库。检查对数据库的正确用户权限。
mysql >SHOW GRANTS FOR <username>;
从 localhost 为数据库分配完全用户权限
mysql> GRANT ALL PRIVILEGES ON <databasename>.* TO '<username>'@'localhost' IDENTIFIED BY '<password>';
mysql> FLUSH PRIVILEGES;
如果从第三方程序(例如 MySQL WORKBENCH)连接到数据库时出错,请从任何主机 MYSQL 为用户分配权限到数据库 授予从任何主机到数据库的所有权限
mysql> GRANT ALL PRIVILEGES ON <databasename>.* TO '<username>'@'%' IDENTIFIED BY '<password>';
mysql> FLUSH PRIVILEGES;
检查您是否正在安装 MySQL 服务器,我遇到了这个问题并通过以下步骤解决:
1- Windows > MySQL 安装程序 - 社区 2- 然后单击 Add > 然后选择 MySQL Server 和下一步。 ......
我希望能解决你的问题
对于 Mac,
我通过重新输入root密码来修复它。
System Preferences > MYSQL > Initialize Database > Enter password
https://i.stack.imgur.com/B5WHk.png
我在使用 Vast cleanup 后遇到了这个问题。基本上 mysql 实例在 PC 启动时启动,即使不使用它也一直在后台活动。
我错误地停止了它
无法在 127.0.0.1:3306 连接到 mysql,用户 'root'@'localhost' 的用户 root 访问被拒绝(使用密码:YES)
对我有用的解决方案:
输入mysql命令行客户端。一打开就会提示输入密码
-> mysql -u root -p -h 127.0.0.1 -P 3306
最后,即使您切换回工作台,它也能正常工作。
我在 Windows10
上的解决方案:
转到服务并找到 MYSQL 服务,然后停止它。打开记事本并输入以下行:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
而不是将文件保存到硬盘驱动器的根目录 (C:\ )。选择一个有意义的文件名,例如 mysql-init.txt。
使用命令提示符导航到 MySQL 目录(以管理员身份运行):
cd "C:\Program Files\MySQL\MySQL 服务器 8.0\bin"
输入以下内容:
mysqld --init-file=C:\mysql-init.txt
现在,您可以使用新密码以 root 身份登录 MySQL 服务器,并且可以删除 C:\mysql-init.txt 文件。转到服务并启动您的 MYSQL 服务。
ERROR 2005 (HY000): Unknown MySQL server host '-P' (11001)