Can’t connect to MySQL server on ‘localhost’ (10061)
windows下无法连接mysql数据库
问题描述:
今天早上连接mysql数据库,用户名和密码输入后,没有登录成功,而是报了 Can’t connect to MySQL server on ‘localhost’ (10061) 这个错误!
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
原因分析:
根据提示,显示的是mysql服务的问题,然后去任务管理器查看了mysql服务是否正常启动,果然服务已经停止了:
解决方案:
- 尝试右键启动服务,结果失败了;
- 查看本地服务启用类型,右键刚才的停止mysql服务,选择打开服务,找到mysql服务:
发现是正常的,双击打开,路径也没有错; - 查看日志,找到mysql的安装路径,由于对mysql的目录不熟悉,找了半天没找到日志文件,于是到windows日志里查看具体的错误信息:
在win10搜索windows日志查看时间日志,打开之后,找到以下目录:windows日志 – 应用程序,找到了关于mysql的错误信息:
- 具体的错误信息如下:
Plugin 'InnoDB' init function returned error.
Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
Unknown/unsupported storage engine: INNODB.
Aborting
于是去网上查找了关于出错的原因,发现是非法关闭mysql数据库之类的问题,解决方案是删除mysql目录下的ib_logfile0 、ib_logfile1 、 ibdata1
这几个文件; - 然后问题来了,在mysql的安装目录里怎么也找不到这几个文件,搜素了一下也没有,然后发现之前数据库的文件也没找到。后来在server的配置文件里,看到了这两行:
#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.5/"
#Path to the database root
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
然后才知道,data目录在ProgramData
目录下,直接复制目录查找(ProgramData
目录一般是隐藏的,要查看隐藏目录才能看到。),看到了ib_logfile0 、ib_logfile1 、 ibdata1
这三个文件,然后把它们删除;
- 最后找到mysql服务,右键启动就可以了。
- 记录一下这个bug。出错的原因可能是服务器的异常关闭,具体的原因还需要进一步的了解。