SQLyog连接问题:SQL Error (2003): Can't connect to MySQL server on '46.x.x.x' (10061)

在Ubuntu 16.04及更高版本中,由于my.cnf配置文件位置改变,导致SQLyog无法连接MySQL。解决办法是在/etc/mysql/mysql.conf.d/mysqld.cnf中注释掉bind_address。此外,确保服务器运行正常,防火墙允许3306端口通信,并使用GRANT ALL PRIVILEGES授权远程访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:https://stackoverflow.com/questions/11223235/mysql-root-access-from-all-hosts

摸索了很久,找了网上很多办法,都无法解决,主要是在Ubuntu16版本之后,bind_address注释掉,这个文件已经不再/etc/my.cnf,也不在/etc/mysql/my.cnf中,最后到stackoverflow找到了解决办法,在/etc/mysql/mysql.conf.d/mysqld.cnf 当中将其注释掉即可连接成功;

### 使用SQLyog连接本地MySQL 8.041 为了成功使用SQLyog连接到本地安装MySQL 8.041服务器,需确保几个关键配置正确无误。以下是详细的指导说明: #### 验证MySQL服务状态 确认MySQL服务正在运行并监听默认端口3306。可以通过命令行工具检查服务状态: ```bash sudo systemctl status mysql.service ``` 如果服务未启动,则通过如下命令启动它[^1]: ```bash sudo systemctl start mysql.service ``` #### 修改my.cnf文件中的bind-address设置 编辑`/etc/my.cnf`或者`/etc/mysql/my.cnf`文件,找到`[mysqld]`部分下的`bind-address`参数,并将其更改为`127.0.0.1`以仅限于本机访问。对于某些发行版可能是其他路径。 #### 创建或验证用户权限 进入MySQL控制台后执行以下语句来创建具有适当权限的新用户或将现有用户的权限扩展至localhost: ```sql CREATE USER 'yourusername'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 注意:这里假设使用的是caching_sha2_password认证插件,默认用于MySQL 8.x版本[^2]。 #### 安全组策略调整 虽然这是针对云环境的安全措施,在物理机器上通常不是问题,但如果是在虚拟化环境中部署的话,请确保防火墙规则允许来自客户端的应用程序(如SQLyog)与目标IP地址之间的通信。 #### SQLyog连接配置 打开SQLyog应用程序,点击“New Connection”,输入相应的细节信息,比如主机名设为`127.0.0.1`而不是`localhost`,因为后者可能会尝试通过Unix Socket而非TCP/IP协议建立连接。指定正确的用户名和密码完成剩余字段填写即可测试连接。 #### 常见错误处理 - 如果收到类似于 `Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'` 的警告消息,这表明SQLyog正试图经由Socket方式连接而失败了。此时应按照上述建议更改为主机名为`127.0.0.1`以便启用网络连接模式。 - 对于ERROR 1130 (HY000),即特定主机不允许连接的情况,参照之前提到过的关于授予用户相应权限的部分操作可以解决问题[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值