"Can't connect to Mysql server on .....(10038)"的解决办法

本文介绍了当尝试远程连接MySQL服务器出现错误时的一种简单解决方法。核心问题是默认的3306端口未对外开放。文章详细记录了通过配置文件调整及授权设置来解决问题的过程。

关于这个问题的解决方法网上还是挺多的,这里只记录下自己的填坑过程,参考其他方法,这里不一一举出了,统一感谢。

今天在远程连接我的小服务器mysql的时候报的错误,开始是懵逼的 因为在之前的服务器上是没有问题的。但是搜索一下关键词后,还是找到了解决方法(一下是我的解决方法,自认为是比较简单的):}

核心就是默认的3306端口没有对外开发,所以首先查看一下:

netstat -an|grep 3306

开始显示的是127.0.0.1:3306
执行:

vi /etc/mysql/mysql.conf.d/mysqld.cnf

其中一行 bind-address = 127.0.0.1
前边加 #注释掉 保存(可能会遇到提示 readonly 请自行修改权限)

执行:

sudo mysql -u root -p

输入 mysql密码

mysql> grant all privileges on . to ‘root’@’%’ identified by ‘上边的密码’;
mysql>flush privileges;

重启下 sudo reboot now

原引用内容未提及无法连接到IP地址为192.168.186.129的MySQL服务器的解决方案相关信息。不过,通常可以从以下几个方面排查和解决该问题: ### 网络连接方面 - **检查物理连接**:确保服务器和客户端之间的网络线缆连接正常,路由器等网络设备工作正常。 - **检查IP和端口**:确认MySQL服务器监听的端口(默认是3306)是否正确,客户端是否使用了正确的IP地址和端口进行连接。可以使用以下命令测试端口连通性: ```bash telnet 192.168.186.129 3306 ``` 如果出现类似“Connected to 192.168.186.129”的提示,说明网络连接和端口是正常的;如果提示“Connection refused”,可能是MySQL服务器未启动或者端口未开放;如果提示“Could not open connection to the host”,则可能存在网络问题。 ### MySQL服务器配置方面 - **检查MySQL服务是否启动**:在服务器上检查MySQL服务是否正在运行。在Linux系统上,可以使用以下命令: ```bash systemctl status mysql ``` 如果服务未启动,可以使用以下命令启动: ```bash systemctl start mysql ``` - **检查MySQL配置文件**:确保MySQL配置文件(通常是`my.cnf`或`my.ini`)中允许远程连接。找到`bind-address`参数,将其设置为`0.0.0.0`,表示允许所有IP地址连接: ```ini bind-address = 0.0.0.0 ``` 修改后重启MySQL服务: ```bash systemctl restart mysql ``` - **检查用户权限**:确保连接使用的MySQL用户具有远程连接的权限。可以使用以下命令为用户授予远程连接权限: ```sql GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES; ``` 其中`your_username`是你的用户名,`your_password`是你的密码。 ### 防火墙方面 - **检查服务器防火墙**:确保服务器的防火墙允许MySQL服务的端口(默认3306)通过。在Linux系统上,如果使用的是`iptables`,可以使用以下命令开放端口: ```bash iptables -A INPUT -p tcp --dport 3306 -j ACCEPT ``` 如果使用的是`firewalld`,可以使用以下命令开放端口: ```bash firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值