被删库勒索了,怎么使用docker进行MySQL容器的管理?

news2024/11/26 3:44:32

大家觉得写还可以,可以点赞、收藏、关注一下吧!
也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn


起因:云服务器MySQL密码设置的太简单了,导致到被入侵删库后被勒索比特币了,幸好只是一个练习项目,所以没什么影响。

以下数据库已被删除:keyauth。 我们有完整的备份。 要恢复它,您必须向我们的比特币地址bc1qeezukfupskw05my46rfucy3ffddd02dzq0wask支付0.015比特币(BTC)。 如果您需要证明,请通过以下电子邮件与我们联系。 duan00192@proton.me 。 任何与付款无关的邮件都将被忽略!

另外发现数据库的’root’@’%’这条记录被删除,导致远程连接不上

在这里插入图片描述

这个问题一般新数据库不会出现,但发生后也有解决方法:

mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

但也引起了我对服务器端应用密码设置的重视

平常使用docker启动我的MySQL服务器,重建docker容器后,发现我设置的MYSQL_ROOT_PASSWORD不生效,重新启动后发现还是需要使用原密码才可以登录。 这就让我感到很奇怪了啊。MYSQL_ROOT_PASSWORD的不就是设置root账户的默认登录密码的吗?

经过反复的测试,删除容器,重启启动,删除镜像重新拉取,最后都是没有效果。 然后我想看看我的数据库文件存放的位置,发现了一个小问题。

因为数据库文件是放在宿主机的,映射到容器内部。导致每次容器启动的时候,会去判断数据库文件是否被初始化。 我发现,如果文件被初始化后,就不会去执行MYSQL_ROOT_PASSWORD设置的密码。

删除宿主机文件,重启容器后发现

mysql | 2021-04-12 17:08:31+08:00 [Note] [Entrypoint]: Initializing database files

在容器启动过程中,我发现了初始化数据库文件的执行记录,容器启动后,我发现密码确实是我设置的MYSQL_ROOT_PASSWORD的密码。

最后,附上自己的MySQL启动脚本

mkdir ~/mysql
cd ~/mysql

docker run -id \
-p 3306:3306 \
--name=mysql \
--restart always \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=yourmysqlpassword \
mysql:8.0 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci \
--default-time_zone='+8:00'

docker exec –it c_mysql /bin/bash

2023年1月27日更

大家觉得写还可以,可以点赞、收藏、关注一下吧!
也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn


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

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

相关文章

路由策略实验

1.先配置IP和环回 [Huawei]sysname R1 [R1]interface GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip add 12.1.1.1 24 [R1-GigabitEthernet0/0/0]int g 0/0/1 [R1-GigabitEthernet0/0/1]ip add 22.1.1.1 24 [R1-GigabitEthernet0/0/1]q [R1]int l 0 [R1-LoopBack0]ip ad…

ETHDenver 2023 的 Cartesi BUIDLathon 项目创意

希望你在了解Cartesi之前,谨慎对待自己的行为。一旦你开始研究并搜寻可以使用Cartesi Rollups构建的项目或者应用,你就会陷入一个令人兴奋的螺旋洞穴中,你会上瘾。如果你想在2023年中建造一些很具有意义的事情,那你就来对地方了。…

Python01概述 基础语法 判断

Python概述 第二章-Python基础语法 01-字面量 02-注释 03-变量 04-数据类型 05-数据类型转换 06-标识符 07-运算符 08-字符串的三种定义方式 09-字符串的拼接 10-字符串格式化 11-字符串格式化的精度控制 12-字符串格式化的方式-快速写法 13-对表达式进行格式化 14-字符串格…

Java语法核心——面向对象编程

目录 面向过程思想概述 面向对象思想概述 面向对象思想特点及举例 类与对象的关系 类的定义 类与对象的案例(demo02) 对象内存存储机制 成员变量和局部变量的区别 private关键字 面向过程思想概述 我们回想一下,这几天我们完成一个需求的步骤:首…

echarts数据可视化项目搭建(一)

目录直角坐标系通用配置项tooltiptoolboxlegenddataZoom柱状图常见效果折线图常见效果散点图常见效果其他坐标系饼图基本实现常见效果地图地图基本展示不同城市颜色不同地图与散点图结合雷达图仪表盘本博客内容参考黑马课程,详细信息请参考以下网址 Bilibili官方黑…

Apache Superset 开源商业智能大数据可视化

Apache Superset 是一款现代化的开源大数据工具,也是企业级商业智能 Web 应用,用于数据探索分析和数据可视化。 Apache Superset 是一个适合企业日常生产环境中使用的商业智能可视化工具。它具有快速、轻量、直观的特点,任何用户都可以轻松地…

Spring Boot学习之Shiro

文章目录零 全部源码地址一 Shiro简介1.1 Shiro功能1.2 Shiro架构(外部视角)1.3 Shiro架构(内部视角)二 Shiro快速入门2.1 演示代码&部分源码解读三 Spring Boot集成Shio3.0 准备操作3.1 整合Shiro3.2 页面拦截实现3.3 登录认…

ESP32设备驱动-HMC5983磁力计驱动

HMC5983磁力计驱动 1、HMC5983介绍 霍尼韦尔 HMC5983 是一款温度补偿型三轴集成电路磁力计。这种表面贴装、多芯片模块专为汽车和个人导航、车辆检测和指向等应用的低场磁场传感而设计。 HMC5983 包括我们最先进的高分辨率 HMC118X 系列磁阻传感器和一个 ASIC,该 ASIC 包含…

AOP切面编程

前言:AOP(Aspect Oriented Programming)是一种设计思想,是软件设计领域中的面向切面编程,它是面向对象编程的一种补充和完善,它以通过预编译方式和运行期动态代理方式实现在不修改源代码的情况下给程序动态…

各种Sequence Self-Attention变形 (加速矩阵运算 且保证全局特征)

人工设计Self-attention的N*N矩阵1. Local Attention/Truncated Attention2. Stride Attention3. Global Attention人工设计Self Attention的使用与选择1.LongFomer2.Big Bird自动设计Self Attention的N*N矩阵1. Reformer2.Sinkborn Sorting Network不需要N*N大小的矩阵1.Linfo…

【python】图片转字符画 cv2+pygame实现

网上看到一些字符画,非常羡慕,想要用python写一个类似的东西,突然想到字符画不就是把图片分割为像素块再进行替换嘛 恰好之前稍稍入门了python的opencv库,可以对图片进行处理。 处理图片的思想为:对一个区域的像素进行参考值计算,用具有相似参考值的字符进行替代,因此除…

打工人必学的法律知识(七)——《中华人民共和国劳动合同法实施条例》

目录 来源 第一章 总 则 第二章 劳动合同的订立 第三章 劳动合同的解除和终止 第四章 劳务派遣特别规定 第五章 法津责任 第六章 附 则 来源 《中华人民共和国劳动合同法实施条例》 第一章 总 则 第一条 为了贯彻实施《中华人民共和国劳动合同法》(以下简称…

mybatis说明

目录 1.说明 2.配置文件 3.映射器 4.select标签 5.insert标签 6.update标签 7.delete标签 8.resultMap的特别说明 9.注解 10.关联(级联)查询 11.动态sql 12.mybatis分页 13缓存 1.说明 MyBatis 是一个开源、轻量级的数据持久化框架,是 JDBC 和 Hiberna…

Redis学习笔记:数据结构和命令

本文是自己的学习笔记。主要参考资料如下: 马士兵 4、Redis的五大数据类型1.1、String1.1.1、String 类型的命令1.1.2、存储对象1.2、List1.2.1、List基本命令1.2.2、List高级命令1.3、Set1.3.1、Set基本命令1.4、HashMap1.4.1、HashMap基本命令1.5、ZSet&#xff0…

【数据结构】7.4 散列表的查找

文章目录7.4.1 散列表的基本概念7.4.2 散列函数的构造散列函数的构造方法7.4.3 处理冲突的方法1. 开地址法1.1 线性探测法1.2 二次探测法2. 链地址法7.4.4 散列表的查找散列表的查找效率分析总结7.4.1 散列表的基本概念 基本思想:根据要存储的关键字的值&#xff0…

计算机网络-杂项

目录 1、蜂窝移动网络 2、TCP和UDP 3、5层架构 4、在浏览器中输入url地址显示主页的过程 5、TCP的基本操作 6、三次握手,四次挥手 6.1、三次握手:双方保证自己和对方都能接收和发送数据。 6.2、三次握手中,为什么客户机最后还要再向服…

【计算机网络】应用层体系

我们知道现代常用的计算机网络模型为5层模型,其中应用层是直接与我们平时常见的软件对接的最高层,所以先来学习应用层就显得很有必要了。其中在应用层我们需要学习网络应用程序的实现、原理并且了解网络应用程序所需要的网络服务、客户和服务器、进程和运…

DW 2023年1月Free Excel 第七次打卡 动态函数

第七章 Excel函数-动态函数 数据下载地址与参考链接:https://d9ty988ekq.feishu.cn/docx/Wdqld1mVroyTJmxicTTcrfXYnDd 1.FILTER函数 在工作中,根据指定的条件,将符合条件的所有记录从数据源表格式查找过来,一是可以用高级筛选。…

两个实用的shell命令:sed和awk用法

🍎作者:阿润菜菜 📖专栏:Linux系统编程 本文目录 sed的用法 sed常用场景 awk的用法 awk常用场景 我们先来看一下力扣上的shell题库中的一题: 实现这个功能一般来说我们会想到tail和head命令来指定打印前几行或者后几…

string的模拟实现(下)

目录 string的模拟实现下 析构函数: 完善函数 空对象的构造函数: 头插函数的一些修正: 构造函数的完善: 实现append 插入函数: 插入函数(字符串) erase删除函数: 实现find函数&#…