docker导出mysql_Docker 导出 mysql 数据

前言

前几天无意中在社区看到一个帖子(记一次清空数据仓库的过程),讲的是自己无意中删库的经历。如文中所讲,大多时候删库这件事我们只是耳闻,并没有遇到过,可要是万一呢,到时候恐怕是追悔莫及,而且 mysql 也没有 oracle 的恢复机制,所以备份就成了一个非常有必要的操作。

由于没有相关操作经验,所以从零开始讲如何数据,毕竟我还是比较珍惜我的小博客的。

具体操作

以前也导出过 sql 文件,但是都是直接用 Navicat 导出就完事了,但是这次我想实现的是自动备份,最好写成脚本的方式。

基本思路:使用命令将数据库数据从 docker 容器中导出来,以时间戳命名。最多保持 7 天,过期文件自动删除。

导出 mysql 数据

间接导出

mysql 导出数据的命令还是蛮简单的:mysqldump -u 用户名 -p 数据库名 > 导出的文件名,但这是 linux 里面执行的,我们的放在 docker 里面,所以要先进入容器,然后执行上述命令。然后你就会惊讶的发现,导出的文件在你的容器里面,然后你再从容器里面 copy 到你的主机上。这样做会在容器上产生大量 sql 文件,写定时任务是需要及时清理。

直接导出

上述方法是可行的,但是过于麻烦,有没有一步到位的呢?很显然是有的,命令是这个样子的:docker exec -it [docker容器名称/ID] mysqldump -u[数据库用户名] -p[数据库密码] [数据库名称] > [导出表格路径],比如我的 docker exec -it mysql mysql

你可能感兴趣的:(docker导出mysql)