Linux如何实现数据库远程访问_LinuxMySQL权限配置

4次阅读

答案是配置 MySQL 用户权限、修改绑定地址为 0.0.0.0、开放 防火墙 3306 端口 。具体需创建允许远程连接的用户,编辑mysqld.cnf 配置文件,重启服务并设置 ufw 防火墙规则,最后通过 mysql -h IP - u 用户 - p 连接,生产环境应限制 IP 以确保安全。

Linux 如何实现数据库远程访问_LinuxMySQL 权限配置

要实现 Linux 下 MySQL数据库 的远程访问,关键在于正确配置 MySQL 用户权限和服务器网络设置。默认情况下,MySQL 只允许本地连接,需手动调整才能让外部主机访问。

开启 MySQL 远程访问权限

MySQL 通过用户账户的主机名限制登录来源。要允许远程连接,需创建或修改用户,使其可以从非本地 IP 连接。

操作步骤:

  • 登录 MySQL:使用 root 账户进入数据库
    mysql -u root -p
  • 授权远程用户:
    允许特定用户从任意主机连接(不推荐生产环境)
    GRANT ALL PRIVILEGES ON *.* TO ‘username’@’%’ IDENTIFIED BY ‘password‘;
    或仅允许来自某个 IP 的连接(更安全)
    GRANT ALL PRIVILEGES ON *.* TO ‘username’@’192.168.1.100’ IDENTIFIED BY ‘password’;
  • 刷新权限:
    FLUSH PRIVILEGES;

修改 MySQL 绑定地址

MySQL 默认监听 127.0.0.1,需更改 配置文件 以监听公网或所有 接口

编辑配置文件:

Linux 如何实现数据库远程访问_LinuxMySQL 权限配置

AIBox 一站式 AI 创作平台

AIBox365 一站式 AI 创作平台,支持 ChatGPT、GPT4、Claue3、Gemini、Midjourney 等国内外大模型

Linux 如何实现数据库远程访问_LinuxMySQL 权限配置 217

查看详情 Linux 如何实现数据库远程访问_LinuxMySQL 权限配置

  • 打开 MySQL 配置文件(路径可能为 /etc/mysql/mysql.conf.d/mysqld.cnf 或 /etc/my.cnf)
    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  • 找到 bind-address 行,将其改为:
    bind-address = 0.0.0.0
    这表示监听所有网络接口。
  • 保存并重启 MySQL 服务:
    sudo systemctl restart mysql

配置 防火墙 允许 3306端口

即使 MySQL 允许远程连接,系统防火墙也可能阻止外部访问。

使用 ufw 开放端口:

  • 允许 MySQL 默认端口:
    sudo ufw allow 3306
  • 更安全的做法是仅允许特定 IP:
    sudo ufw allow from 192.168.1.100 to any port 3306
  • 查看规则是否生效:
    sudo ufw status

完成上述配置后,即可从远程主机使用客户端连接 MySQL:
mysql -h your_server_ip -u username -p

基本上就这些。只要权限、配置文件和防火墙都设置正确,远程访问就能正常工作。注意生产环境应避免使用 % 通配符开放所有 IP,尽量限定具体来源 IP,保障数据安全。

星耀云
版权声明:本站原创文章,由 星耀云 2025-11-29发表,共计501字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources