mysql 数据迁移 ki_k8s环境下mysql数据迁移

前言

以下以mysql:5.7.31为例,mysql8.0版本增强了密码功能,如果不熟悉这块内容,会引发了很多问题,包括这次研究使用mysqldump数据迁移,也有坑,这里就不细说了,现在看来,如果对于mysql8.0版本的新特性没研究,也没必要使用的,自己学习测试还是老老实实使用5.x版本。

docker run --name mysql5.7 -e MYSQL_ROOT_PASSWORD=root -d -p3306:3306 mysql:5.7.31

mysql is a simple SQL shell with input line editing capabilities. It supports interactive and noninteractive use.

众所周知,mysqldump是官方提供的数据迁移工具,它集成在mysql-client中,所以要使用这个工具,先在本地安装mysql-client。现在是容器,云原生时代,本地docker部署,线上k8s部署mysql是必然。

docker与k8s环境下,数据迁移复杂度来源是网络模型与存储卷。

docker网络有linux network namespace,bridge模式,host模式等知识点,docker是直接挂载宿主机作为持久存储,还可以知道数据存在硬盘什么位置。k8s环境下,docker只是作为一种容器运行时,不关心docker容器运行在那台机器上,k8s有跨主机通信,三层网络模型等,k8s的存储类直接屏蔽了存储细节。

下面逐层分析物理机,docker,k8s环境下的数据备份迁移方式。

mysqldump用法

直接参阅官方文档,以下是参考官方文档稍微做几点说明:

调用语法:

shell> mysqldump [options] db_name [tbl_name ...]

shell> mysqldump [options] --databases db_name ...

shell> mysqldump [options] --all-databases

--opt参数 Shorthand for --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset

-h -u 是host, user 缩写

--disable-keys:surround INSERT statements with statements to disable and enable keys,用来避免导入时的外键冲突。

单机备份

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值