MySQL数据库如何开启远程连接

Owen
Owen
发布时间:2026-10-14| 6人浏览过
原创

开启 MySQL 远程连接需确保网络通畅、防火墙放行以及数据库权限正确配置。具体包括开放 3306 端口、绕过安全软件拦截,并通过 SQL grant 命令为指定用户分配权限。

开启远程连接前的准备

第一步:确认防火墙规则允许连接

MySQL 默认的监听端口是 3306。若要实现远程连接,必须确保服务器所在的防火墙(如 iptables、云厂商安全组等)没有阻止该端口。

  1. 检查默认端口:确认未修改默认的 3306 端口。
  2. 自定义端口:如果在安装时修改了端口号,需在防火墙中开放对应的自定义端口。
  3. 联系管理员:若不清楚服务器防火墙的具体设置,请咨询服务器运维人员协助添加入站规则。

第二步:检查安全类软件拦截

如果服务器上安装了“安全狗”等应用层安全防护软件,它们可能会拦截来自外部的 IP 请求。请确保将合法的远程客户端 IP 地址添加到这些安全软件的白名单中,以免被误判为攻击而拦截。

配置数据库远程访问权限

第三步:登录 MySQL 控制台

在本地计算机或管理终端上打开命令行工具(Windows 下为 cmd 或 PowerShell,Linux/Mac 下为 Terminal)。以数据库管理员身份登录:

mysql -u root -p [输入密码]

例如,若 root 密码为 123456(注意生产环境建议分开输入避免泄露),命令如下:

mysql -uroot -p123456

第四步:创建用户并授予远程权限

在 MySQL 控制台中,使用 grant 语句为特定用户授予远程访问权限。基本语法结构如下:

grant 权限列表 on 数据库名.表名 to '用户名'@'允许连接的IP或域名' identified by '用户密码';

示例场景 A:仅允许从特定 IP(如备份服务器 115.28.36.60)访问特定数据库 discuz:

grant select, lock tables on discuz.* to ted@'115.28.36.60' identified by '123456';

示例场景 B:允许任意 IP 访问所有数据库(仅限测试或非严格安全环境):

grant all privileges on *.* to 'myuser'@'%' identified by 'mypass';

关键参数说明:

  • select, lock tables:授予的权限列表,可根据需要改为 all privileges。
  • discuz.*:数据库名.* 表示该库下所有表;*.* 表示所有库所有表。
  • 'ted'@'115.28.36.60':用户名为 ted,限制只能从 IP 115.28.36.60 连接。若设为 '%' 则表示允许任意 IP 连接。
  • identified by '123456':设置或更新该用户的登录密码。

第五步:立即生效并验证

执行完 grant 语句后,必须刷新系统权限缓存,新设置才会立即生效:

flush privileges;

为确保配置无误,可在控制台中查询当前用户及其允许的连接主机:

select host, user from mysql.user;

找到刚创建的用户记录,观察其 host 字段是否为预期的 IP 地址或 %,即表示远程访问权限配置成功。

总结

以上便是关于开启 MySQL 远程连接的详细内容,更多关于 MySQL 数据库管理与优化的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。