文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

连接数据库报错2003-Can‘t connect to MySQL server on ‘localhost‘(10061)

2023-08-20 15:27

关注

连接数据库报错:2003-Can’t connect to Mysql server on ‘localhost’(10061)

连接数据库报错:2003-Can’t connect to Mysql server on ‘localhost’(10061)

MySQL 使用 Navicat 出现错误“2003 - Can’t connect to MySQL server on ‘localhost’ (10061)”,如图:
在这里插入图片描述错误原因:MySQL服务没有开启

1, 首先到系统服务里面找到MYSQL服务并启动MYSQL服务.
打开 我的电脑>计算机管理>服务和应用程序>服务 中查看MySQL服务状态,发现
MySQL 服务已被禁用或关闭,此时,只需要把 MySQL 服务启动即可。
在这里插入图片描述
如果在服务中查找不到 MySQL 服务,可采用下面的方法解决:
1、找到系统中的命令提示符(cmd.exe)
2、右键,选择以管理员身份运行打开该程序
3、切换到你的 mysql 的安装目录下的 bin 目录,执行 mysqld.exe --install 命令,看到 service successfully installed 表示安装服务成功。
在这里插入图片描述4、重新进到 Windows 的服务列表,发现 MySQL 服务出现了,然后点击启动 MySQL 服务即可。
5、问题解决,MySQL 数据库成功打开。
在这里插入图片描述服务能起来,然后执行mysql -u root -p命令、输入密码之后,一直报ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061),就是进不去mysql
注意观察发现Mysql服务启动后短时间内会自动停止!

在网上查找许多资料试过只有这个方法有效
看配置文件my.ini
然后查看发现配置文件中存在这一句话
skip-grant-tables
将这句话注释掉之后就能跑了
在这里插入图片描述Mysql服务不会再自动停止了!!!
最后重新启动下服务器
net stop mysql
net start mysql
在这里插入图片描述

再次回到mysql界面点击连接数据库又出现下面这个错误

1251-Client does not support authentication protocol requested by server;consider upgrading MySQL client

在这里插入图片描述提示说:“客户端不支持服务器请求的身份验证协议”
再次安装MySQL后,使用 Navicat 或者 MySQL yog都会出现下面这个异常。
其实这个是一个权限与安全问题。
Windows环境解决Mysql权限不足问题:
通过查找资料发现大部分都是使用下面这样方式:

1.登陆数据库mysql -uroot -p2、输入root的密码:3.更改加密方式:mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;4、更改密码:mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';5、刷新:mysql> FLUSH PRIVILEGES;

而我这里执行第一步就报错了,而我输入的密码是正确的
我尝试修改密码,但也行不通
那就搜索解决这个问题吧

ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)

在这里插入图片描述查找到的普遍办法是:

1.到安装的MySQL的目录下,找my.ini文件,在[mysqld]后添加skip-grant-tables2.然后重启MySQL服务器。2.登录mysql,键入mysql –uroot –p;不输入密码,直接回车(Enter)3.键入无效set password for ‘root’@‘localhost’=password(‘123456’);4.再把my.ini的skip-grant-tables删除,然后重启MySQL服务器:net stop mysql ;net start mysql;5.再次进行设置密码:set password for ‘root’@‘localhost’=password(‘123456’);

我在第2步不输入密码回车时竟然报回了最初的错误2003 - Can’t connect to MySQL server on ‘localhost’ (10061)
在这里插入图片描述此法行不通!这是一个错误死循环!
我赶紧把my.ini文件中添加的skip-grant-tables删掉了,重新启动mysql服务器

最终我找到了唯一有效而且最彻底的办法,初始化所有数据库数据,这样以前的表格数据就清空了(开始找2003 - Can’t connect to MySQL server on ‘localhost’ (10061)错误的时候也有这样的解决办法,当时想到会清空数据没敢尝试)现在只能冒险一试了!

具体步骤是:
1、首先以管理员身份启动cmd,要不然服务禁止访问。
2、然后在cmd中输入 mysqld --remove mysql或者mysqld --remove mysql57来移除服务。

在这里插入图片描述
然后进入MySQL安装目录中找到data文件,清空其中全部文件。
在这里插入图片描述4、接下来注册服务,mysqld -install。

在这里插入图片描述5.然后开始初始化,mysqld --initialize,(第4步和第5步忘记了先后顺序,自己试试),然后可以看到data文件夹中文件正在初始化中(生成文件中。。。)

在这里插入图片描述
6、初始化过程中会把登录密码初始化,可以在data文件中找到以.err结尾的文件,打开找到初始化的密码记下来

在这里插入图片描述
在这里插入图片描述7、启动MySQL服务,cmd中输入net start mysql57或者net start mysql,启动成功

在这里插入图片描述8、使用初始化密码登录

在这里插入图片描述登录成功!

修改密码:(如果我没有修改密码发现连接数据库依然会报1251-Client does not support authentication protocol requested by server;consider upgrading MySQL client)

进入MySQL的bin目录,然后输入mysql -u root -p,输入密码

在这里插入图片描述2.更新一下用户的密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;

在这里插入图片描述3.刷新权限
FLUSH PRIVILEGES;

在这里插入图片描述然后去mysql尝试连接数据库

在这里插入图片描述

终于成功了!!!

在这里插入图片描述

来源地址:https://blog.csdn.net/m0_67403188/article/details/126618131

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯