文章目录
前言
昨天运行代码可以成功连接MySQL,今天连接MySQL数据库的时候显示”Can’t connect to MySQL server on localhost (10061)”的错误(莫名其妙的突然出现),又查询了网上所有的资料,试了一些net start mysql(显示服务无法启动。失败)、服务管理器里去启动MySQL的服务(显示本地计算机上的服务开启后停止,某些服务在未由其他服务或程序使用时将自动停止。失败)
根据网上搜到的解决方法,我知道了MySQL出现此问题很大可能在于没有my.ini的配置文件和data文件夹。这篇文章就解决了这个问题,
链接:https://blog.csdn.net/shinny195/article/details/82319218
在此只叙述解决本人存在的问题的过程(亲测有效)
一.解决MySQL文件下没有配置文件
1.创建my.ini配置文件
先新建一个my.ini文件,写入相应的配置信息(上面推荐的链接有细说),保存后复制到MySQL的安装路径(C:\Program Files\MySQL\MySQL Server 5.7)中。ps:因为本人直接在安装路径中的新建选项中没有txt文件,故选择在安装路径外新建,随后复制到此
注意:data文件夹一定不能自己手动创建
2. 进行初始化服务
需要先进行初始化服务再启动服务
进入MySQL安装目录的bin目录,执行mysqld --initialize-insecure,执行完毕之后查看是否新建了一个data目录,里面是否有一系列文件,最后再执行启动服务,net start mysql,成功开启MySQL服务。
二、解决Access denied for user ‘root’@‘localhost’ (using password: YES)问题
成功启动服务后连接数据库又发现出现新问题Access denied for user ‘root’@‘localhost’ (using password: YES)(没错,一环扣一环的来)
原因:在初始化MySQL后,密码也进行了一个初始化。
解决方案:进入到MySQL安装目录的data目录,找到一个.err后缀的文件,在此目录下直接打开会显示有问题,于是我选择复制到此目录外(桌面),进行查看,修改其后缀名为.txt后打开,可以找到初始化后的密码是何。
此处显示数据库的密码为空,在MySQL去测试,将密码设为空进行连接测试,成功。
到此问题全部解决。
结束语
浅浅记录一下折磨我两三小时的MySQL问题,本来今儿想解决代码的BUG问题,好家伙,突如其来的MySQL问题杀我个措手不及。