0

0

mysql如何连接远程服务器_mysql远程连接的设置与常见问题

爱谁谁

爱谁谁

发布时间:2025-11-22 12:03:05

|

157人浏览过

|

来源于php中文网

原创

要让MySQL支持远程连接,需修改bind-address为0.0.0.0,授权用户从%或指定IP访问,并开放3306端口的防火墙和安全组规则。

mysql如何连接远程服务器_mysql远程连接的设置与常见问题

要让MySQL支持远程连接,需要从服务器配置、用户权限和网络环境三方面进行设置。很多开发者在本地测试时使用localhost访问数据库没问题,但换到远程连接就出现各种错误。核心原因通常是MySQL默认只允许本地访问,必须手动开启远程访问权限并确保服务端口可被外部访问。

开启MySQL远程连接的设置步骤

1. 修改MySQL绑定地址
MySQL默认只监听本地回环地址(127.0.0.1),需修改配置文件使其监听所有IP或指定公网IP。

Linux系统:

编辑MySQL配置文件,通常位于/etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf,找到以下行:

bind-address = 127.0.0.1

将其改为:

bind-address = 0.0.0.0

表示监听所有网络接口。若只想允许特定IP连接,可填写服务器公网IP。

Windows系统:

配置文件一般为my.ini,路径如C:\ProgramData\MySQL\MySQL Server x.x\my.ini,同样修改bind-address项。

2. 重启MySQL服务
修改后必须重启服务使配置生效。

Linux命令:

sudo systemctl restart mysql

Windows可在服务管理器中重启“MySQL”服务。

授予用户远程访问权限

即使MySQL监听了外部请求,账户默认也可能只允许本地登录。需用root账户登录MySQL,执行授权命令。

进入MySQL命令行:

mysql -u root -p

执行授权语句,例如允许用户user_name从任意IP远程连接:

你好星识
你好星识

你的全能AI工作空间

下载
GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

若只允许特定IP(如192.168.1.100)连接:

GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'192.168.1.100' IDENTIFIED BY 'password';

授权后刷新权限:

FLUSH PRIVILEGES;

注意:使用@'%'会开放较广权限,生产环境建议限制IP范围。

检查防火墙与安全组设置

MySQL默认使用3306端口,远程连接前必须确保该端口在服务器防火墙和云服务商安全组中已放行。

Linux使用ufw防火墙示例:

sudo ufw allow 3306

或使用iptables:

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

如果是阿里云腾讯云、AWS等云服务器,还需登录控制台,在“安全组”规则中添加入站规则,允许TCP 3306端口的流量。

常见问题及解决方法

错误1:Can't connect to MySQL server (10060)
可能是网络不通或端口未开放。先确认服务器IP是否正确,使用ping测试连通性,再用telnet检查3306端口:

telnet your_server_ip 3306

如果连接失败,检查防火墙、安全组和MySQL绑定地址。

错误2:Access denied for user 'xxx'@'xxx'
说明用户无权从当前IP登录。检查授权语句中的host部分是否匹配客户端IP,必要时重新授权并刷新权限。

错误3:MySQL服务无法启动
修改bind-address后服务起不来,可能是配置语法错误。检查配置文件是否有拼写错误或多余字符,也可暂时注释该行测试。

连接工具推荐
可使用Navicat、DBeaver、MySQL Workbench等图形化工具测试远程连接,输入服务器IP、端口、用户名密码即可。

基本上就这些。只要配置正确,远程连接MySQL并不复杂,关键点是绑定地址、用户权限和网络放行这三个环节都不能遗漏。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

662

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

245

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

281

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

514

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

253

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

386

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

528

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

599

2023.08.14

公务员递补名单公布时间 公务员递补要求
公务员递补名单公布时间 公务员递补要求

公务员递补名单公布时间不固定,通常在面试前,由招录单位(如国家知识产权局、海关等)发布,依据是原入围考生放弃资格,会按笔试成绩从高到低递补,递补考生需按公告要求限时确认并提交材料,及时参加面试/体检等后续环节。要求核心是按招录单位公告及时响应、提交材料(确认书、资格复审材料)并准时参加面试。

0

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.8万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 793人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号