上篇文章写道,我腾讯云被攻击了,然后我各种删除木马文件,但在这个过程中,有些系统文件没认到,以为是木马文件,就删除了,各种处理无果,打开腾讯云的救援模式,备份了些重要文件,然后重装系统了。

基于这个契机,有些老掉牙的架构,我也想趁机换一换了。

首先是想,原来mysql是用linux部署的,现在我想直接部署到docker容器中。

然后我就开始了,因为是重装了系统什么也没有。

首先还是先装docker.

CentOS安装Docker

CentOS安装Docker - 乐心湖's Blog | 技术小白的技术博客

Ubuntu的docker详细安装教程

Ubuntu的docker详细安装教程_夏夏不吃糖的博客-CSDN博客_ubuntu安装docker教程

我是centos,就用上面那个文档,一步一步操作。

docker安装完毕后,拉取一个mysql镜像

#拉取镜像

docker pull mariadb:latest

启动容器,挂载一个mysql的data目录出去

docker run  -p 23306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai \
--name simple_mysql \
-v /root/data/mysql/data:/var/lib/mysql:rw  \
-v /root/data/mysql/log:/var/log/mysql:rw  \
--restart=always \
-d mariadb

把原来的mysql下面的data数据拷贝到 /root/data/mysql/data下(刚刚挂载的数据目录是这个)

拷贝1:ibdata1,不要问我这是什么,这个一定要拷贝。替换前先做备份

拷贝2:需要移植的数据库,我就以travel_system这个库为例。

cp -R /data/txyun_beifen/mysql/data/travel_system /root/data/mysql/data

拷贝过来,ll命令查看一下,可以看到一件事,那就是该目录的所有者和所属组都是root,而docker的默认的用户是polkitd,用户组是input,这个要改。

 修改文件的所有者与所属组

# 修改文件所有者

chown -R polkitd travel_system

# 修改文件所属组

chgrp -R input travel_system

好,我们来重启下容器,在用navicat连接看看情况。

docker restart simple_mysql

总结:其实如果还能连接数据库,直接通过navicat的数据传输功能进行同步,是效率最高的,如果出现了我这样的情况,万一不能使用navicat,只有数据库data目录备份,可以使用该方法进行数据库还原,操作前多做好备份,三思而动哈。

记录一次 在linux 搭建的mysql迁移到docker容器中相关推荐

  1. Openstack技术\在Docker容器中部署MySQL,并通过外部mysql客户端操作MySQL Server

    MySQL部署 在Docker容器中部署MySQL,并通过外部mysql客户端操作MySQL Server. 操作步骤: 搜索mysql镜像 拉取mysql镜像 创建容器 操作容器中的mysql 容器 ...

  2. Docker容器中MySQL最大连接数被限制为214的解决方案

    Docker容器中MySQL最大连接数被限制为214的解决方案 原文:Docker容器中MySQL最大连接数被限制为214的解决方案 一.背景 话说笔者在上次的博客里简单的讲了一下调整MySQL最大连 ...

  3. docker切换到linux容器模式,linux – 将虚拟主机转换到Docker容器

    我目前在Plesk上运行一个Red Hat Linux服务器来托管一百个域名.由于多种原因,我想从每个虚拟主机作为一个或多个容器过渡到Plesk和Docker容器.到目前为止,我还不清楚这是最好的方法 ...

  4. Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法

    Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法 1).容器中登录my ...

  5. Docker容器中的Linux机器快速设置国内源

    Docker容器中的Linux机器快速设置国内源 在Docker容器中启动了服务后,当我们进入容器内,经常很多命令无法使用,比如最基本的vim,可能都没有安装,因为容器内只安装应用服务,导致无法编辑配 ...

  6. docker容器中查看容器linux版本

    docker容器中查看容器linux版本 有时候需要登陆容器搞点事情,这时候需要看容器系统的版本,那么一条命令就能完成. 正确的姿势: cat /etc/issue 错误的姿势: cat /proc/ ...

  7. php mysql 迁移_将phpstudy中的mysql迁移至Linux教程

    项目目的 将原来windows环境中使用phpstudy搭建的mysql 5.5.53 中的数据迁移至新主机Linux环境中 环境情况 新主机 系统平台: CentOS release 7.4 (Fi ...

  8. date oracle 表中_从 MySQL 迁移数据到 Oracle 中的全过程

    一.前言 这里记录一次将MySQL数据库中的表数据迁移到Oracle数据库中的全过程 ,使用工具 Navicat,版本 12.0.11 操作环境及所用工具: mysql5.7 oracle18c wi ...

  9. Linux 64位 CentOS下安装 Docker 容器,启动、停止

    一.Docker简介 Docker 提供了一个可以运行你的应用程序的封套(envelope),或者说容器,是轻量级的"容器引擎+映像仓库",在LXC(linux轻量级容器)的基础上 ...

最新文章

  1. html android canvas兼容_快来!这里有5分钟看完马上学会的HTML基础大全
  2. 以太网,IP,TCP,UDP数据包分析【转】
  3. springmvc教程--整合mybatis开发(spring+springMVC+mybatis整合开发)
  4. jsonp react 获取返回值_谈谈对 React 新旧生命周期的理解
  5. Django 遇到的错误:expected str, bytes or os.PathLike object, not _io.TextIOWrapper
  6. ansys如何删除线_PR学习之旅:PR预设如何导入,保存和效果重命名呢?诀窍很简单...
  7. Delphi一句话帮助
  8. 地图不显示_图灵搜不显示地图,软件打开一片空白,怎么解决?
  9. 【PANet】《Path Aggregation Network for Instance Segmentation》
  10. 计算机控制系统由硬件和软件组成部分,计算机控制系统的硬件一般由哪几个主要部分组成,各有何作用?...
  11. RainMeter使用教程一篇
  12. 网站备案其实是服务器备案,网站备案指的是备案域名还是备案主机空间
  13. 追梦App系列博客——第一次会议总结
  14. 线程安全问题和解决方法
  15. K2P padavan固件下宽带与IPTV融合
  16. Linux操作系统之安装Linux虚拟机
  17. android 动态加载sdk,LiteAVSDK集成,因此可以动态加载库
  18. WeX5 BeX5 页面框架核心之数据绑定2021-11-15
  19. python数据工程师养成(1)--小说字频统计
  20. 1546B - AquaMoon and Stolen String

热门文章

  1. XiaoHu日志 7/29~8/9
  2. U盘exe病毒解决方法
  3. AndroidPN环境建立
  4. C++各种经典小游戏
  5. 科普了解高级编程语言的发展历程
  6. 阿姆斯特朗数 matlab,c中阿姆斯特朗数
  7. react源码中的fiber架构
  8. 「镁客·请讲」VR的拓荒者,幻境视界让VR内容拥有艺术之美
  9. git 撤销上次提交 commit
  10. matlab 医学断层图像,利用MATLAB实现CT断层图像的三维重建