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

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

要实现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,需更改配置文件以监听公网或所有接口。

编辑配置文件:

  • 打开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,保障数据安全。


# mysql  # linux  # word  # 防火墙  # 端口  # 配置文件  # sql权限  # 接口  # 数据库  # 服务器网络  # 重启  # 绑定  # 远程访问  # 就能  # 将其  # 能让  # 使其  # 能为  # 关键在于 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何自定义建站之星模板颜色并下载新样式?  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  PHP 500报错的快速解决方法  如何快速搭建FTP站点实现文件共享?  北京企业网站设计制作公司,北京铁路集团官方网站?  利用vue写todolist单页应用  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  JavaScript如何实现倒计时_时间函数如何精确控制  制作企业网站建设方案,怎样建设一个公司网站?  如何快速生成可下载的建站源码工具?  如何续费美橙建站之星域名及服务?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  JavaScript如何实现类型判断_typeof和instanceof有什么区别  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在橙子建站中快速调整背景颜色?  奇安信“盘古石”团队突破 iOS 26.1 提权  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  C语言设计一个闪闪的圣诞树  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  油猴 教程,油猴搜脚本为什么会网页无法显示?  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  如何在景安云服务器上绑定域名并配置虚拟主机?  青岛网站建设如何选择本地服务器?  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  Laravel怎么清理缓存_Laravel optimize clear命令详解  敲碗10年!Mac系列传将迎来「触控与联网」双革新  EditPlus中的正则表达式 实战(1)  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  韩国服务器如何优化跨境访问实现高效连接?  如何在服务器上三步完成建站并提升流量?  Laravel如何配置任务调度?(Cron Job示例)  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  EditPlus中的正则表达式 实战(2)  Laravel Fortify是什么,和Jetstream有什么关系  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  详解jQuery中基本的动画方法  智能起名网站制作软件有哪些,制作logo的软件?  如何用5美元大硬盘VPS安全高效搭建个人网站?  如何用花生壳三步快速搭建专属网站?  Android Socket接口实现即时通讯实例代码  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  如何用虚拟主机快速搭建网站?详细步骤解析  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?