Docker+MySQL:打造安全高效的远程数据库访问

news2025/2/25 8:29:32

在现代应用开发和部署中,数据库是关键组件之一。无论是开发环境还是生产环境,快速、可靠地部署和管理数据库都是开发人员和运维人员面临的常见挑战之一。
Docker是一种流行的容器化技术,它使得应用程序的部署和管理变得非常简单和高效。通过使用Docker,我们可以轻松地在任何环境中部署MySQL数据库,而无需担心底层的操作系统和依赖关系。MySQL作为一种高性能、可靠的关系型数据库,被广泛应用于各种项目中。
在许多情况下,我们不仅需要在本地访问数据库,还需要从远程服务器或其他客户端连接到数据库。这种需求在分布式系统、微服务架构和跨团队协作中尤为常见。然而,设置远程访问的同时也需要特别注意安全性,以防止数据库被恶意攻击
本文将详细介绍如何使用Docker快速部署MySQL数据库,并配置远程访问。我们还将分享一些关于数据库安全的最佳实践,帮助你保护数据库免受潜在威胁。无论你是刚接触Docker和MySQL的新手,还是有一定经验的开发人员,希望本文能为你提供有价值的参考

1. 安装Docker

首先,确保你的系统已经安装了Docker。如果没有安装,可以参考Docker的官方安装文档进行安装。

在Ubuntu上安装Docker:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

2. 拉取MySQL Docker镜像

拉取官方的MySQL Docker镜像:

docker pull mysql:latest

3. 启动MySQL容器

使用以下命令启动MySQL容器:

docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=123456 -p 15379:3306 -d mysql:latest

这里的--name参数指定了容器的名称,-e参数设置了环境变量MYSQL_ROOT_PASSWORD,用于指定root用户的密码,这里设置了默认密码为123456,端口为15379,后面会介绍为什么不设置宿主机的端口为3306(主要是出于安全考虑)。

4. 配置MySQL允许远程访问

默认情况下,MySQL只允许本地访问。要允许远程访问,我们需要做一些配置。

进入MySQL容器:
docker exec -it mysql-container mysql -u root -p
登录MySQL后,运行以下SQL命令:
grant all privileges on *.* to root@'%' with grant option;
FLUSH PRIVILEGES;

5. 开启防火墙端口

确保你的服务器防火墙允许MySQL的3306端口访问。
这一点需要特别注意,你需要登录到你的腾讯云、阿里云或者华为云后台,开放对应的防火墙端口,否者是无法进行远程连接的!

7. 安全注意事项

在设置MySQL远程访问时,请务必注意以下几点安全建议:

  1. 不要使用简单的密码:设置一个复杂的root密码,避免使用如“123456”或“password”这样的弱密码。

  2. 不要使用常见的3306端口: 设置一个不常见的端口作为一个数据库远程连接的端口。

  3. 限制访问IP:在生产环境中,不要开放0.0.0.0给所有IP访问,最好限制只有特定IP可以访问MySQL服务。

  4. 启用SSL加密:配置MySQL使用SSL加密进行通信,确保数据传输的安全性。

  5. 定期备份数据库:即使你已经采取了安全措施,也要定期备份你的数据库,以防万一。

  6. 使用防火墙和安全组:配置防火墙规则和云提供商的安全组,进一步限制和保护数据库访问。

8. 安全事件分享

前一段时间我也是用docker启动mysql容器,并设置了所有IP可以远程访问,同时密码设置的是最基础的123456,也没有启用任何的加密设置,结果第二天,我们的数据库就被删库跑路了,黑客新建了一张表,并留下了两句话,现在分享给大家!
在这里插入图片描述
还好数据库中没有什么特别重要的数据,同时也做了相应的sql备份,希望所有人引以为戒!一定要保护好自己的数据库,同时提高自己的安全意识!

9. 总结

通过Docker快速部署MySQL并设置远程访问是一个非常方便的方法,但在实际生产环境中,安全问题必须引起足够的重视。确保使用复杂的密码、限制访问IP以及定期备份数据库,以防止被恶意攻击或误操作删除数据库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1842030.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工业制造领涉及的8大常见管理系统,如mes、scada、aps、wms等

在工业生产和制造领域有一些常见的管理系统,很多小伙伴分不清,这次大美B端工场带领大家了解清楚。 MES(Manufacturing Execution System,制造执行系统): MES是一种用于监控、控制和优化生产过程的软件系统…

Java众包招聘零工兼职任务发布人力资源招聘小程序

📢众包招聘零工兼职任务发布——人力资源招聘小程序全攻略 一、引言:打破传统,开启零工新时代 随着社会的快速发展,零工经济已成为一种不可忽视的就业模式。为了满足广大求职者与招聘者的需求,众包招聘零工兼职任务发…

Python中文自然语言处理(NLP)中文分词工具库之pkuseg使用详解

概要 在中文自然语言处理(NLP)中,分词是一个基础且关键的任务。pkuseg 是由北京大学开发的一个中文分词工具,专为处理现代汉语而设计。它采用了先进的深度学习技术,能够准确地进行中文分词,同时支持自定义词典和多领域分词。本文将详细介绍 pkuseg 库,包括其安装方法、…

红黑树(数据结构篇)

数据结构之红黑树 红黑树(RB-tree) 概念: 红黑树是AVL树的变种,它是每一个节点或者着成红色,或者着成黑色的一棵二叉查找树。对红黑树的操作在最坏情形下花费O(logN)时间,它的插入操作使用的是非递归形式实现红黑树的高度最多是…

1分钟解决海康威视摄像头网页预览失败显示纯灰色问题

先用老IE浏览器登录,会提醒下载插件 下载这个Web的插件安装后,重开网页就都能看了

MacBook Air M3的电脑怎么样 新买MacBook Air提示内存不足 苹果电脑内存不够用怎么办

Apple的MacBook Air系列一直是轻薄便携笔记本电脑的代表,最新推出的MacBook Air M3因其出色的性能和优雅的设计而受到广泛关注。然而,许多用户在购买全新的MacBook Air后反应他们遇到了内存不足的提示。 本文将探讨MacBook Air M3的电脑怎么样&#xff0…

k8s自动补全工具和UI管理界面

分享两个有利于K8S的工具 目录 分享两个有利于K8S的工具 一、部署Dashboard(主节点) 介绍 1.1、查看集群状态 1.2、下载yaml文件并运行Dashboard 1.3、部署服务 1.4、创建访问账户、获取token(令牌) 1.5、浏览器访问Dash…

【K8s】专题五(5):Kubernetes 配置之热更新工具 Reloader

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号! 目录 一、基本介绍 二、工作原理 三、部署方法 四、使用方法 一、基本介绍 Reloader 是一个用…

Git 学习笔记(超详细注释,从0到1)

Git学习笔记 1.1 关键词 Fork、pull requests、pull、fetch、push、diff、merge、commit、add、checkout 1.2 原理(看图学习) 1.3 Fork别人仓库到自己仓库中 记住2个地址 1)上游地址(upstream地址):http…

PFA方桶聚四氟乙烯溢流槽PFA酸洗槽耐腐蚀浸泡桶15L

PFA浸泡桶又叫PFA酸缸、PFA清洗槽、PFA方槽。 主要用于浸泡、清洗带芯片硅片电池片的花篮。由于PFA的特点它能耐受清洗溶液的腐蚀性,同时金属元素值低,无溶出无析出,不会污染芯片晶圆等。 半导体晶圆清洗槽尺寸可按要求定做。同时&#xff0…

ATA-4052C高压功率放大器在新能源汽车安全测试中的应用

新能源汽车的崛起已经改变了汽车行业的格局,为环境友好型交通方式提供了更多的选择。为了确保这些新型汽车的安全性和可靠性,进行全面的安全测试是至关重要的。高压功率放大器在新能源汽车的安全测试中发挥着重要的作用,本文将介绍其应用以及…

大模型什么时候应该进行微调

经常会遇到一个问题——LinkedIn 上的人们问我如何微调 LLaMA 等开源模型,试图找出销售 LLM 托管和部署解决方案的业务案例的公司,以及试图利用人工智能和大模型应用于他们的产品。但当我问他们为什么不想使用像 ChatGPT 这样的闭源模型时,他…

真空玻璃可见光透射比检测 玻璃制品检测 玻璃器皿检测

建筑玻璃检测 防火玻璃、钢化玻璃、夹层玻璃、均质钢化玻璃、平板玻璃、中空玻璃、真空玻璃、镀膜玻璃夹丝玻璃、光栅玻璃、压花玻璃、建筑用U形玻璃、镶嵌玻璃、玻璃幕墙等 工业玻璃检测 钢化安全玻璃、电加温玻璃、玻璃、半钢化玻璃、视镜玻璃、汽车安全玻璃、汽车后窗电热…

智慧油品营销调度大屏可视化应用

图扑应用自研 HT 搭建的 2D 智慧油品营销调度中心大屏展示模块主要以综合业务支撑平台为架构,全方位展示公司主要概况、业务运行、管理服务等多项内容,在内外部交流和品牌管理提升等方面发挥了积极作用。

接口提示信息国际化, 调用LibreTranslate 离线翻译, 国际化支持

文章目录 背景实现方式步骤下载并部署离线翻译服务;前端接入 背景 将接口返回内容进行翻译, 以适配多语言需求; 实现方式 前端拦截接口返回内容, 调用离线翻译服务进行翻译, 翻译之后再进行相应的提示 参考资料: 离线翻译服务: https://github.com/LibreTranslate/LibreTra…

Spring Boot 3 整合 SpringDoc OpenAPI 生成接口文档

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

Go 内存模型与分配机制

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

亚马逊测评怎么赚钱,其他跨境电商平台也可以测评吗?

跨境电商平台我们应该都知道,有Amazon(亚马逊)、eBay、全球速卖通(AliExpress)、Wish、Shopee、Lazada、阿里巴巴国际站、沃尔玛、敦煌、希音、temu、独立站等 近几年国内电商行业市场饱和,竞争大利润低&a…

【机器学习】使用Python实现图神经网络(GNN):图结构数据的分析与应用

🔥 个人主页:空白诗 文章目录 一、引言二、图神经网络的基础知识1. 图的基本概念和术语2. 传统的图分析方法3. 图神经网络的基本原理4. GNN的基本模型 三、主要的图神经网络模型1. 图卷积网络(Graph Convolutional Network, GCN)2…

“拥堵的6·18”一去不返,快递业终于“松了一口气”?

一年一度的电商“618”大促已然步入尾声。 与往年不同的是,今年自4月起,天猫、京东、快手等主流平台相继官宣取消预售。自此,今年的“618”成了首个取消预售的大促节。只是,有的平台取消了“预售制”,却新增了“仅退款…