Navicat 2003-can't connect to MYSQL server on 'localhost'(10061)

本文介绍了一种解决MySQL root密码遗忘的方法,通过一系列命令行操作重置密码,包括停止服务、跳过权限表启动、登录数据库及更新密码。

今天使用naticat连接mysql数据库时,发现连接不上了,明明上周5我还用过啊,是不是环境有问题?还是人品不行?用最简单粗暴的问题解决,重装mysql,我使用的版本是mysql-5.6.22-win32.msi,重装以后,还是不行!why?好吧,我们去找度娘,但是娘娘告诉我,她也有好多不靠谱的行为,或者说是没有找到我需要的答案,也可能是我太菜了!

我在想,我安装的过程中没有提示我输入用户名和密码啊,会不会密码为空啊,后来找到了一篇博客,发现我们可以查询到root的密码的,并且按照操作可以修改密码的,这里我就直接抄了:

首先启动命令行


1.在命令行运行:taskkill /f /im mysqld-nt.exe


下面的操作是操作mysql中bin目录下的一些程序,如果没有配置环境变量的话,需要切换到mysql的bin 目录下执行如下语句。不然无效

2.继续在命令行运行:mysqld-nt --skip-grant-tables


3.新开一个命令行运行:mysql -u root   (如果没有配置mysql的bin环境变量的话需要切换到bin目录下执行此语句)


如果不想改密码,只是想看原来的密码的话。可以在命令行执行这个语句

select host,user,password from mysql.user;//即可查看到用户和密码


如果要修改密码的话,在命令行下执行下面的语句

update mysql.user set password='这里填写你要设置的密码'  where user='root';


这里我设置了空密码。

完成这些操作后,继续在命令行运行

taskkill /f /im mysqld-nt.exe;//安全着想,先结束,因为现在这样是可以用mysql -u root 直接登录的

net start mysql;//启动mysql服务

至此,mysql的root密码遗忘解决方法就算弄完了。

我也是菜鸟,在这个过程中可能有一些低级问题存在,希望大家指点批评。找到我自己的毛病解决掉才能得到进步,让我这只菜鸟早点插上翅膀毛,我也很想飞。


原文地址:http://www.jb51.net/article/38473.htm

### 错误原因分析 Navicat 连接 MySQL 时出现错误 `2003 - Can't connect to MySQL server on 'localhost' (10061)` 通常意味着客户端无法与 MySQL 服务器建立连接。可能的原因包括: - **MySQL 服务未运行**:如果 MySQL 服务没有启动,Navicat 将无法连接到数据库服务器。 - **端口问题**:MySQL 默认使用 3306 端口,如果该端口被占用、关闭或配置错误,连接请求将被拒绝。 - **防火墙或安全软件限制**:本地或远程防火墙设置可能阻止了对 MySQL 端口的访问。 - **主机名配置错误**:如果连接时使用了错误的主机名或 IP 地址,也会导致连接失败。 - **MySQL 配置文件问题**:`my.cnf` 或 `my.ini` 文件中的配置(如 `bind-address`)可能限制了本地或远程连接。 ### 解决方法 #### 1. 确认 MySQL 服务是否正在运行 在 Windows 上,可以通过以下方式检查 MySQL 服务状态: ```bash services.msc ``` 找到 MySQL 服务(例如 `MySQL80`),确保其状态为“正在运行”。如果不是,请右键选择“启动”或使用命令行启动服务: ```bash net start MySQL80 ``` 在 Linux 系统中,使用以下命令检查 MySQL 服务状态: ```bash systemctl status mysql ``` 如果服务未运行,启动它: ```bash sudo systemctl start mysql ``` #### 2. 检查 3306 端口是否监听 使用以下命令查看 3306 端口是否被 MySQL 占用: ```bash sudo netstat -anp | grep 3306 ``` 如果未看到类似 `tcp6 0 0 :::3306 :::* LISTEN` 的输出,则说明 MySQL 没有正常监听该端口。此时需要检查 MySQL 配置文件 `my.cnf` 或 `my.ini` 中的 `port` 设置是否正确,并确保没有其他程序占用 3306 端口。 #### 3. 防火墙设置 在 Linux 上,使用 `ufw` 或 `iptables` 检查防火墙规则是否允许 3306 端口: ```bash sudo ufw status ``` 如果未开放 3306 端口,执行以下命令: ```bash sudo ufw allow 3306/tcp ``` 在 Windows 上,确保防火墙允许 MySQL 通过入站规则。可以临时禁用防火墙进行测试。 #### 4. 检查 MySQL 配置文件 MySQL 的配置文件通常位于以下路径: - Windows:`C:\ProgramData\MySQL\MySQL Server 8.0\my.ini` - Linux:`/etc/mysql/my.cnf` 或 `/etc/my.cnf` 检查 `bind-address` 配置项: ```ini bind-address = 127.0.0.1 ``` 如果设置为 `0.0.0.0`,则表示允许所有 IP 连接;如果设置为特定 IP,则需确保连接使用的主机名或 IP 与其一致。 #### 5. 更改服务路径(Windows) 如果 MySQL 服务的安装路径与实际路径不一致,可以通过以下方式修改服务路径: 1. 打开命令提示符并执行: ```bash sc config MySQL80 binPath= "D:\MySQL\bin\mysqld.exe --defaults-file=D:\MySQL\my.ini MySQL80" ``` 2. 重启服务: ```bash net stop MySQL80 net start MySQL80 ``` #### 6. 检查 Navicat 连接设置 确保 Navicat 中的连接参数如下: - 主机名/IP 地址:`localhost` 或 `127.0.0.1` - 端口:`3306` - 用户名和密码:正确无误 尝试使用 `127.0.0.1` 替代 `localhost`,因为某些系统在解析 `localhost` 时可能存在差异。 #### 7. 数据恢复与重装(极端情况) 如果 MySQL 数据库损坏,可以尝试以下步骤: 1. 停止 MySQL 服务: ```bash net stop MySQL80 ``` 2. 备份当前 `data` 文件夹,并将原备份数据复制回 `data` 目录。 3. 启动 MySQL 服务: ```bash net start MySQL80 ``` 4. 使用 Navicat 重新连接数据库。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值