目录
一、问题描述
MySQL的DBMS软件 sqlyog连接MySQL失败,报错:Can't connect to MySQL server on 'localhost' ,报错截图如下:
二、原因分析
如果之前数据库是正常的,那么出现该问题的原因应该只是没有在连接数据库前没有打开数据库服务,如刚开机就连接数据库,因为相关数据库的服务还没有开启,所以会出现不能连接的错误。这个问题其实普遍存在于各种数据库,可能是数据库服务设置为手动开启,而不是自启;该功能可以进行设置的,详见下面方法2。
三、解决方法
1.命令行直接开启对应数据库服务
使用管理员权限开启对应数据库,步骤:按win键,直接输入cmd,以管理员身份运行cmd命令窗口(如下图),
输入开启命令,开启对应数据库服务:
# 开启SqlServer的服务
C:\WINDOWS\system32>net start mssqlserver
SQL Server (MSSQLSERVER) 服务正在启动 ......
SQL Server (MSSQLSERVER) 服务已经启动成功。
# 开启SqlServer的服务
C:\WINDOWS\system32>net start mysql
MySQL 服务正在启动 ..
MySQL 服务已经启动成功。
输入命令后,如果未开启对应服务,则开启;如果已经开启了,就会显示已开启信息。
类似的停止服务的命令只需要将start换成stop即可,如:net stop mysql 。
注意:不使用管理员权限,会拒绝访问
使用“win+E”开启的cmd命令工具是不使用管理员权限的,显示的开始信息为 C:\Users\username>,只是普通的用户权限;而按照我上面说的方法开启cmd命令工具是以: C:\WINDOWS\system32> 开始,表示对系统所有用户都有效,也就是管理员权限。不使用管理员权限,会拒绝访问,如下:
C:\Users\yansheng>net start mysql
发生系统错误 5。
拒绝访问。
2.通过“本地服务管理器”开启对应数据库服务
win+r 打开命令窗口,输入services.msc,打开本地各项服务管理器,找到MySQL的服务(如下图),右键点击,选启动,等进度条完成,再次连接数据库,就可以了。
设置服务自启:右键-->属性-->启动类型-->自动。这样下次开机就会自启了,应该就不会出现这种错误了。
下面这个是SqlServer的:
注:
上面的命令中的后缀 MSC是Microsoft Management Control的简称, 即微软管理控制台文件。
可以点击开始/运行,然后输入列文件名就可以打开相应的控制窗口。