本文介绍: 服务能起来,然后执行mysql -u rootp命令输入密码之后,一直报ERROR 2003 (HY000): Can’t connect to MySQL server onlocalhost’ (10061),就是进不去mysql。5.然后开始初始化mysqldinitialize,(第4步和第5步忘记了先后顺序,自己试试),然后可以看到data文件夹中文件正在初始化中(生成文件中。1.进入MySQL的bin目录然后输入mysql -u rootp输入密码。…

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

连接数据库报错:2003-Can’t connect to Mysql server onlocalhost’(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.exeinstall 命令,看到 service successfully installed 表示安装服务成功。
在这里插入图片描述4、重新进到 Windows 的服务列表发现 MySQL 服务出现了,然后点击启动 MySQL 服务即可
5、问题解决,MySQL 数据库成功打开
在这里插入图片描述服务能起来,然后执行mysql -u rootp命令输入密码之后,一直报ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061),就是进不去mysql
注意观察发现Mysql服务启动后短时间内会自动停止!

网上查找许多资料试过只有这个方法有效
配置文件my.ini
然后查看发现配置文件存在这一句话
skipgranttables
将这句话注释掉之后就能跑了
在这里插入图片描述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 -p
2、输入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-tables
2.然后重启MySQL服务器。
2.登录mysql,键入mysql –uroot –p;不输入密码,直接回车(Enter)
3.键入无效set password for ‘root’@‘localhost’=password(‘123456’);
4.再把my.iniskip-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文件添加skipgranttables删掉了,重新启动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、使用初始化密码登录

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

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

1.进入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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_12295.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注