MySQL 允许远程用户访问数据库的方法与权限管理

桃夭
桃夭
发布时间:2026-10-14| 5人浏览过
原创

通过 MySQL 客户端执行特定的授权命令,可允许指定 IP 或任意地址的用户远程登录并操作数据库。核心步骤包括使用 GRANT 语句分配权限并指定用户信息,随后执行 FLUSH PRIVILEGES 使更改即时生效。

授予远程访问权限

要让远程计算机能够连接到 MySQL 服务器,需要创建一个允许特定来源 IP 登录的用户,并赋予其相应的数据库操作权限。以下是一个典型的授权示例,该命令将允许来自 192.168.14.1 的主机以用户 cakephp 的身份访问 cakephp 数据库:

mysql> grant all privileges on cakephp.* to cakephp@'192.168.14.1' identified by 'lpfukia';
Query OK, 0 rows affected (0.01 sec)

上述命令的参数含义如下:

  • all privileges:授予所有权限。在实际生产环境中,建议根据最小权限原则,仅授予 SELECT, INSERT, UPDATE 等必要权限,而非全部权限。
  • cakphp.*:指定授权的数据库范围。这里是指 cakephp 数据库下的所有表(*)。
  • cakephp@'192.168.14.1':指定用户名及允许的 Host。'192.168.14.1' 限制了仅该 IP 可以连接。若要允许任意 IP 访问,可将此处替换为 '%',但存在安全隐患。
  • identified by 'lpfukia':设置用户的登录密码。

刷新权限表

在 MySQL 中修改用户权限后,通常建议显式刷新权限表,以确保新设置的权限立即生效,无需重启服务。

mysql> flush privileges;

执行此命令后,系统将重新加载内存中的授权表。此时,位于 192.168.14.1 的主机即可使用新用户凭据远程连接数据库。

排查与建议

  • 防火墙限制:即使数据库层面已授权,若服务器防火墙(如 iptables、firewalld)或云服务商的安全组未开放 3306 端口,远程连接仍会失败。请确保网络层连通性。
  • bind-address:检查 my.cnf 配置文件中的 bind-address 参数。若设置为 127.0.0.1,则 MySQL 仅监听本地连接。需将其修改为 0.0.0.0 或服务器的具体公网/内网 IP,并重启 MySQL 服务方可接受远程请求。

以上就是允许远程用户访问 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 算法库。