当前位置: 首页 > news >正文

如何配置 MySQL 允许远程连接

前言

MySQL 是一个广泛使用的开源关系型数据库管理系统。在实际开发中,我们经常需要从本地或外部服务器连接到 MySQL 数据库。本文将详细介绍如何配置 MySQL 以允许远程连接。

准备工作

  • 服务器为 Linux
  • 已安装 MySQL 的服务器(本博客基于 MySQL 8.0)
  • 拥有管理员权限的用户
  • 确保目标客户端可以通过网络访问 MySQL 服务器的 3306 端口

步骤一:修改 MySQL 配置文件

默认情况下,MySQL 只允许本地连接(localhost)。要开启远程连接,需修改其配置文件。

1. 找到配置文件

Linux 系统一般位于 /etc/mysql/mysql.conf.d/mysqld.cnf
或者使用命令查找:

mysql --help | grep "my.cnf"

2. 修改 bind-address

找到如下行:

bind-address = 127.0.0.1

将其改为:

[mysqld]
bind-address = 0.0.0.0

这表示监听所有 IP 地址上的连接请求。

注意:如果你使用的是云服务器(如阿里云、腾讯云),还需开放对应的安全组规则。

步骤二:创建或授权远程访问用户

1.登录 MySQL:

mysql -u root -p

2. 创建新用户并授权远程访问

CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  • ‘remote_user’@‘%’ 表示任何 IP 都可以使用 remote_user 登录。
  • 若只允许特定 IP,可替换为 ‘remote_user’@‘192.168.1.100’。

3. (可选)修改已有用户的权限

GRANT ALL PRIVILEGES ON *.* TO 'existing_user'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

步骤三:重启 MySQL 服务

使配置生效,重启 MySQL 服务:

sudo systemctl restart mysql

安全建议

  • 避免使用 root 用户进行远程连接
  • 使用强密码策略
  • 在生产环境中限制访问 IP 范围
  • 启用 SSL 加密连接(高级用法)

测试远程连接

使用客户端工具(如 Navicat、DBeaver、MySQL Workbench 或命令行)尝试连接:

mysql -h your_server_ip -u remote_user -p

如果提示连接成功,则说明配置已生效!

云服务器注意事项

如果使用的是云服务器,上面操作确保无误之后还是不能远程连接,请务必检查:

  • 安全组是否放行 3306 端口
  • 是否关闭了防火墙(如 UFW、iptables)
  • 是否绑定了公网 IP(某些 VPC 环境需要注意)

总结

通过上面的步骤,就可以允许MySQL远程连接,不过在使用的时候应该始终关注安全性。

http://www.lqws.cn/news/202879.html

相关文章:

  • 《探秘局域网广播:网络世界的 “大喇叭”》
  • 64、js 中require和import有何区别?
  • Xilinx FPGA 重构Multiboot ICAPE2和ICAPE3使用
  • LeetCode 高频 SQL 50 题(基础版)之 【子查询】· 上
  • 【力扣链表篇】19.删除链表的倒数第N个节点
  • CRMEB 中 PHP 快递查询扩展实现:涵盖一号通、阿里云、腾讯云
  • A Survey on the Memory Mechanism of Large Language Model based Agents
  • LeetCode 08.06 面试题 汉诺塔 (Java)
  • uniapp 对接腾讯云IM群公告功能
  • 图上合成:用于大型语言模型持续预训练的知识合成数据生成
  • Linux中MySQL的逻辑备份与恢复
  • NamedParameterJdbcTemplate 使用方法及介绍
  • Readest(电子书阅读器) v0.9.53
  • Python爬虫-爬取各省份各年份高考分数线数据,进行数据分析
  • 使用 C/C++ 和 OpenCV 提取图像的感兴趣区域 (ROI)
  • Mysql批处理写入数据库
  • Opencv查找图形形状的重要API讲解
  • Cursor实现用excel数据填充word模版的方法
  • C#报价系统陈列展示成本核算系统项目管理系统纸品非纸品报价软件
  • linux 用户态时间性能优化工具perf/strace/gdb/varlind/gprof
  • 让DeepSeek写2025年高考作文
  • qiankun微前端 主应用vue3+vite、子应用vue3+vite
  • 使用 C++/OpenCV 创建动态流星雨特效 (实时动画)
  • ngx_stream_geo_module在传输层实现高性能 IP Region 路由
  • 学习STC51单片机30(芯片为STC89C52RCRC)
  • 【论文阅读笔记】《A survey on deep learning approaches for text-to-SQL》
  • 以SMMUv2为例,使用Trace32可视化操作SMMU的常用命令详解
  • 深入理解 Agent 与 LLM 的区别:从智能体到语言模型
  • 反向传播的核心是什么:计算损失函数对可训练参数的梯度=== 损失函数能通过计算图连接到可训练参数
  • 快速运行Dify前端,无需搭建后端环境