你能帮我解决这个问题吗?
当我尝试在Mysql workbench中的数据库菜单下单击“查询数据库”时。它给了我一个错误:
Cannot Connect to Database Server
Your connection attempt failed for user 'root' from your host to server at
127.0.0.1:3306:Can't connect to mysql server on '127.0.0.1'(10061)
Please:
1. Check that mysql is running on server 127.0.0.1
2. Check that mysql is running on port 3306 (note: 3306 is the default, but this can
be changed)
3. Check the root has rights to connect to 127.0.0.1 from your address (mysql rights
define what clients can connect to the server and from which machines)
4. Make sure you are both providing a password if needed and using the correct
password for 127.0.0.1 connecting from the host address you're connecting from
答案 0 :(得分:51)
问题可能是由于在升级到ubuntu 16.04期间未设置密码时默认为root用户启用套接字身份验证。
解决方案是恢复本机密码身份验证。您可以通过执行以下操作使用套接字身份验证登录MySQL来执行此操作:
sudo mysql -u root
登录后:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
将恢复为本机(旧的默认)密码身份验证。
现在,只要MySQL需要,就使用密码作为密码。
答案 1 :(得分:41)
尝试从开始菜单搜索框打开services.msc并尝试手动启动MySQL服务。
答案 2 :(得分:27)
看起来这个错误有很多原因。
就我而言,原因是我的服务器配置为只接受来自localhost的连接。我按照这篇文章修复了它:How Do I Enable Remote Access To MySQL Database Server?。我的my.cnf
文件没有skip-networking
行,所以我只更改了行
bind-address = 127.0.0.1
到
bind-address = 0.0.0.0
这允许来自任何IP的连接,而不仅仅是127.0.0.1。
然后,我创建了一个可以通过运行以下终端命令从我的客户端计算机连接的MySql用户:
# mysql -u root -p
mysql> CREATE USER 'username'@'1.2.3.4' IDENTIFIED BY 'password';
-> GRANT ALL PRIVILEGES ON *.* TO 'username'@'1.2.3.4' WITH GRANT OPTION;
-> \q
其中1.2.3.4
是您尝试连接的客户端的IP。如果您确实遇到问题,可以使用'%'
代替'1.2.3.4'
来允许用户从任何IP进行连接。
有关相当广泛的列表,请参阅Causes of Access-Denied Errors。
答案 3 :(得分:17)
您是否尝试确定这是Workbench的问题还是一般连接问题?试试这个:
mysql -u root -p -h 127.0.0.1 -P 3306
quit
并输入此处退出)。报告这是如何运作的。
答案 4 :(得分:11)
我在 Mac OS 上遇到了类似的问题,并且能够通过以下方式解决此问题:
在终端上,运行:
some_df = sc.parallelize([
("A", "no"),
("B", "yes"),
("B", "yes"),
("B", "no")]
).toDF(["user_id", "phone_number"])
pandas_df = some_df.toPandas()
然后,要求我输入密码。由于没有设置密码,我只是按下输入。
我收到如下消息:
欢迎使用MySQL监视器。命令以;结尾;或\ g。您的MySQL 连接ID为181。服务器版本:8.0.11 Homebrew。
如果您成功登录mysql>,请运行以下命令:
mysql -u root -p -h 127.0.0.1 -P 3306
您应该收到这样的消息:
查询正常,受影响的0行(0.19秒)
现在,您的密码是“ 密码”,用户名是“ root ”。
快乐编码:)
答案 5 :(得分:7)
我必须以管理员身份启动Workbench。显然它没有连接到我的localhost数据库服务器进程所需的权限。
右键单击Workbench快捷方式,然后选择Run as Administrator
。在快捷方式的属性窗口中,您可以单击"高级"并勾选"以管理员身份运行"旁边的框始终以管理员权限运行Workbench。
答案 6 :(得分:4)
我在这个问题上挣扎了一段时间,并且在发现之前做了几次重新安装MySQL。
我知道MySQL服务器运行正常,因为我可以使用命令行访问我的所有数据库。
希望这适合你。
在 MySQL Workbench(5.2.47 CE)
中点击管理员服务器实例(右下角)
点击连接
在连接框中选择:
本地实例($ ServerName) - root@127.0.0.1:3306'<'标准(TCP / IP)>
点击修改所选...
参数,主机名下的 localhost或127.0.0.1 更改为您的NetBIOS名称点击测试连接
如果这适合你,那很好。如果没有将主机名更改回原来的名称。
答案 7 :(得分:4)
发生错误是因为mysql服务器未在您的计算机上启动。你应该手动启动它。请执行以下步骤:
根据计算机中的位版本(32位或64位)下载并安装wamp服务器(http://wampserver-64bit.en.softonic.com/)此链接允许您下载64位的wamp服务器。
一旦你安装它,你可以双击并运行它..(你可以在任务栏的右侧看到一个图标。它可能是隐藏的。所以你可以点击显示你的箭头隐藏应用程序运行)。所以单击图标并转到 Mysql
然后转到 服务 ,在那里您可以找到 开始/恢复服务 点击它..
现在已经完成了。打开mysql工作台,看看。它会工作..
答案 8 :(得分:3)
对于那些忽略显示的初始错误消息的人是这样的:
任何服务文件均未提供org.freedesktop.secrets名称。
确保使用以下命令安装gnome-keyring
sudo apt install gnome-keyring
答案 9 :(得分:3)
运行ALTER USER命令。确保将密码更改为您选择的强密码。
1-sudo mysql # Login to mysql
2-#Run the below command
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
现在您可以使用新密码访问它。
Ref:https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04
答案 10 :(得分:1)
答案 11 :(得分:1)
要了解更高版本和更高版本的访问者:
目前我正在使用win7 64bit上面有不同的工具,包括python 2.7.4作为google android的先决条件......
当我从WB 6.0.8-win32升级到高版本以获得64位性能时我遇到了一些问题,例如在6.3.5-winx64上我在表的详细信息视图中有一个错误(无序视图)导致我降级到6.2.5-winx64。
作为GUI用户,简单的前向/后向工程和数据库服务器相关项目运行良好但是当我们尝试Database>Connect to Database
时,我们将Not connected
并且如果我们尝试执行a Query>Reconnect to Server
将会出现python错误但是查询数据库服务器服务是绝对运行的并且运行良好,这个问题不是来自服务器,而是来自工作台。要解决它,我们必须使用mysql_upgrade.exe
显式选择数据库连接然后几乎一切看起来都很好(这可能是由于我的多个数据库连接,我无法找到一些解决方案来定义默认数据库连接工作台)。
作为一个注释:因为我使用最新的Xampp版本(甚至在linux上瘾:)),最近Xampp使用mariadb 10而不是mysql 5.x导致mysql文件版本为10可能会导致一些问题作为可以通过buildscript {
repositories {
mavenCentral()
jcenter()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-alpha6'
classpath 'com.novoda:bintray-release:0.2.7'
classpath 'io.fabric.tools:gradle:1.+'
}}
解决的程序的正向工程,但是当我们尝试检查数据库连接时,wb会告知错误的版本,但它并不重要且运行良好。
结论:因此,有时工作台中的数据库连接问题可能是由于本身而不是服务器(如果您没有其他数据库连接相关问题)。
答案 12 :(得分:0)
在我的情况下,我刚刚安装了mysqlworkbench,但在卸载mysqlworkbench并安装MySQL安装程序后,对于32位和64位都是相同的,然后它就像魅力一样工作。希望它可能有用
答案 13 :(得分:0)
我的问题是MySQL服务器没有实际安装。我已经运行了MySQL安装程序,但它没有安装MySQL服务器。
我重新安装了安装程序,单击"添加",然后将MySQL服务器添加到列表中。现在它工作正常。
答案 14 :(得分:0)
对我来说,原因是我尝试使用最新的MySQL Workbench 8. *连接到MySQL Server 5.1(均在Windows Server 2012上运行)。当我卸载MySQL Workbench 8. *并安装MySQL Workbench 6.3.10时,它已成功连接到本地主机数据库
答案 15 :(得分:0)
I was in similar situations before and last time I found it was some Windows update issue(not sure). This time, I opened MySQL workbench and found no connection to my local database. I cannot see my tables, but yesterday I could connect to the database.
I found that my cause is that, after letting my computer sleeping for some time and wake it again, the mysql service is not running. My solution: restart the service named "mysql" and rerun the workbench. Restarting the service takes a while, but it works.
答案 16 :(得分:0)
问题是未安装MYSQL服务器。 您可以从here
获取安装程序然后观看这6分钟的安装过程tutorial。
如果随后无法在MYSQL Workbench中创建新连接,请确保以root身份运行该连接,如下所示:
如果找不到您的.ini文件,请选中this answer.
答案 17 :(得分:0)
就我而言,安装没有将 MySQL\MySQL Server 5.7/bin 文件夹添加到我的 PATH 环境变量中。
答案 18 :(得分:0)
即使我在打开 MYSQL 工作台时也遇到了类似的错误。 对我有用的解决方案是
希望这可能会有所帮助。
答案 19 :(得分:0)
右键单击任务栏 -> Task Manager
点击Services
按钮
搜索 MYSQL80
或您正在使用的任何其他内容
右击 MYSQL80
--> Start
这对我有用,希望对你也有用
答案 20 :(得分:0)
我也在这个问题上挣扎了很长一段时间。
我来到这个interesting thread from MySQL forum: http://forums.mysql.com/read.php?11,11388,11388#msg-11388
我(也很明显)也有一些好的SO Q / A.
似乎“user948950”问题中提到的消息可能来自多种原因:日志文件太大,mysql.ini文件值不正确,文件路径中的空格,安全/ acl问题,旧注册表中的条目,等等。
所以,在尝试3小时后解决这个问题......我放弃了,并决定做一个很好的旧重新安装。
这是this post from (again) this MySQL thread came in useful的地方,我引用:
Gary Williams写道:嗨,大家好,
我遇到了完全相同的问题,这就是我的工作方式 对我来说,从非工作安装开始。
停止任何现有mysql安装的Windows服务。
- 醇>
卸载Mysql。
与大多数卸载一样,旧文件会被遗忘。如果你的目录 是C:\ mysql \ etc然后删除innob等文件但是离开了 目录本身以及“数据”中的任何现有数据库。 如果您的目录是C:\ Program Files \ etc,请删除所有mysql 目录。
现在值得运行regedit以确保卸载时删除旧的注册表项。如果没有,删除它们。
可以使用新的.msi安装程序(仅限基本文件),但是....
请勿使用默认安装路径!一些天才设置了一个带有空格的路径!选择自定义安装并选择合理的路径, 即,C:\ mysql(来自Adrien的说明:C:\ mysqldata ...数据)
- 醇>
不要选择更改安全设置。取消选中相关的框,安装将完成,无需设置root 密码。
我想我已经记住了一切。
祝你好运加里
当我将我之前的“data”目录中的数据库复制/粘贴到新数据库时,我确实遇到了麻烦。所以我找到的工作是导出每个数据库(我知道......很有趣),然后逐个重新导入它们。
仅供参考:我使用以下命令导入C:/<MySQLInstallDir>/My SQL Server x.x/bin/mysql -u root -p <dbName> < "<dirPathOfDump>\<dumpName>.sql"
,例如C:/mysql/MySQL Server 5.6/bin/mysql -u root -p mySupaCoolDb < "C:\mySupaCoolDbDump20130901.sql"