linux 设置mysql 外网访问

devtools/2025/1/8 11:20:47/

1、修改 MySQL 配置文件

找到并编辑配置文件:在Linux系统中,MySQL的配置文件通常是/etc/mysql/my.cnf,使用命令sudo vim /etc/mysql/my.cnf打开文件。

注释或修改 bindaddress:找到bindaddress = 127.0.0.1,将其注释掉或改为0.0.0.0,以允许所有IP地址连接。

保存并重启 MySQL 服务:保存文件后,重启MySQL服务以应用更改,可以使用命令sudo systemctl restart mysqlsudo service mysql restart

2、配置 MySQL 用户权限

登录 MySQL:使用命令mysql u root p登录MySQL。

查询当前用户主机:执行SELECT user, host FROM mysql.user;查看现有用户的主机限制。

更新用户权限:如果需要允许远程访问,可以执行类似GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;的命令。

刷新权限:执行FLUSH PRIVILEGES;使更改生效。

3、配置防火墙规则

放通端口 3306:确保防火墙允许通过3306端口的外部访问,可以使用类似sudo ufw allow 3306/tcp的命令。

检查安全组设置:如果是云服务器,还需在云服务提供商的控制台中配置安全组,确保放通3306端口。


http://www.ppmy.cn/devtools/148877.html

相关文章

Nginx:SSL/TLS 配置

HTTPS 协议简单来说就是“HTTP 协议”和“SSL/TLS 协议”的组合。 HTTPS 工作流程图描述 1. 客户端发起 HTTPS 请求 说明:用户在浏览器中输入一个 HTTPS URL 或点击一个 HTTPS 链接。浏览器会向指定的服务器发起一个 HTTPS 请求。 [客户端] --发起HTTPS请求--> [DNS服务器…

基于Arduino的FPV头部追踪相机系统

构建FPV头部追踪相机:让你置身于遥控车辆之中! 在遥控车辆和模型飞行器的世界中,第一人称视角(FPV)体验一直是爱好者们追求的目标。通过FPV头部追踪相机,你可以像坐在车辆或飞行器内部一样,自由…

【设计模式-1】软件设计模式概述

1. 软件设计模式的产生背景 “设计模式”这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977 年,美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫亚历山大(Christopher Alexander)在…

【简博士统计学习方法】第1章:1. 统计学习的定义与分类

自用笔记 1. 统计学习的定义与分类 1.1 统计学习的概念 统计学习(Statistical Machine Learning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。 以计算机和网络为平台;以数据为研究对象;以…

moviepy 将mp4视频文件提取音频mp3 - python 实现

DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 需要更多数据资源和技术解决方案,知识星球: “DataBall - X 数据球(free)” -------------------------------------------------------------…

点亮一个esp32 的led

最近入了一个ESP32 兄弟们,这玩意还可以,买来肯定是给它点亮啊对吧 我就是点灯侠🎇 😭千万不要不接天线啊,不然你会一直找不到你的wifi 1.点灯第一步你得有IDE Arduino 就是这个绿东西 可是怎么下载安装呢&#xff…

windows10中VMWare 16不能启用虚拟化解决方案Docker启动

已经打开BIOS中虚拟化线程安全支持,并且系统显示虚拟化:已启用。 在windows下安装VMWare 16,配置虚拟机支持虚拟化技术 但启动虚拟机时,提示如下报错,无法启动, 操作【是】提示 按照搜索到的大部分解决方案…

iOS - AutoreleasePoolPage 节点为空时的处理逻辑

1. 空 Page 的判断 struct AutoreleasePoolPage {id *next; // 指向下一个可用位置id *begin(); // 页面起始位置bool empty() {return next begin(); // next 指针回到起始位置表示为空}// 页面的边界id *begin() { return (id *)(this 1); }id *…