k8s-mysql备份

2023-01-14  本文已影响0人  催化剂

1、进入容器 找到容器: kubectl get pod -n my-namespace | grep mysql

进入容器:

eg: kubectl exec -it mysql-server-687fd8dfc8-7v7mr -n my-namespace bash 进入mysql后执行导出语句

2、在容器内执行导出

2.1 备份目录

mkdir /db_bak 2.2 执行导出语句

mysql -e "show databases;" -u<你的账号> -p<你的密码>| grep -Ev "Database|information_schema|mysql|sys|performance_schema" | xargs mysqldump -u<你的账号> -p<你的密码> --databases > <导出路径>

eg : mysql -e "show databases;" -uroot -pMyPwd@123456| grep -Ev "Database|information_schema|mysql|sys|performance_schema" | xargs mysqldump -uroot -pMyPwd@123456 --databases > /db_bak/mysql_backup_lunan_20210818.sql

3、复制出来

kubectl cp [podname]:[源路径和文件名] [目标路径和文件名] -n [namespace]

eg: kubectl cp mysql-server-687fd8dfc8-7v7mr:/db_bak/mysql_backup_lunan_20210818.sql /home/db_bak/mysql_backup_lunan_20210818.sql -n my-namespace

4、恢复

4.1 导入容器 

kubectl cp /home/db_bak/mysql_db/mysql_backup_lunan_20211221.sql mysql-server-687fd8dfc8-fwhmn:/mysql_backup_lunan_20211221.sql -n my-namespace 

4.2 进入容器 

kubectl exec -it -n bash

4.3 登录

mysql mysql -uroot -p

 4.4 执行

sql source /mysqlbackuplunan_20211221.sql

上一篇 下一篇

猜你喜欢

热点阅读