欢迎访问机房运维工作室

爱数知识库

AnyShare - 备份 mariadb 数据库表

频道:爱数知识库 日期: 浏览:24

AnyShare - 备份 mariadb 数据库表

关键字

数据库、备份、表


适用产品

  • AnyShare Enterprise 7.0.4.3及以上版本
  • AnyShare Express 7.0.4.3及以上版本


目的

在修改数据库字段前,为了保证操作的安全性,需要先对数据库表进行备份,本文介绍如何备份数据库表。


解决方案

下图以备份 anyshare 库中的 t_conf 表为例,介绍两种备份表的方法。

方法一:

1.通过 SSH 登录到 AnyShare 节点,执行如下命令,找到 mariadb 数据库 pod,下图以 mariadb-0 为例。

kubectl get po -A -o wide |grep mariadb

2.执行如下命令,通过 kubectl 命令进入容器,并登录数据库。

kubectl exec -it mariadb-mariadb-0 -n resource -- /bin/bash

mysql -uroot -p

3.进入 anyshare 数据库,再创建一个备份表 t_conf_bak,然后将 t_conf 表中的数据插入到 t_conf_bak 表中。操作完成后查看备份表为t_conf_bak;

use anyshare;

create table t_conf_bak like t_conf;

insert into t_conf_bak select * from t_conf;

show tables;

image.png

image.png

image.png

方法二:

1.通过 SSH 登录到 AnyShare 节点,执行如下命令,找到 mariadb 数据库 pod,下图以 mariadb-0 为例。

kubectl get po -A -o wide |grep mariadb

2.执行如下命令,通过 kubectl 命令进入容器,无需登录数据库。

kubectl exec -it mariadb-mariadb-0 -n resource -- /bin/bash

image.png

3.使用 mysqldump 命令备份 anyshare 库中 t_conf 表到数据库目录 /var/lib/mysql 下,备份成功后在数据库目录下查看备份表为 bak_t_conf.bak。

mysqldump -h127.0.0.1 -P3306 -uroot -p anyshare t_conf > /var/lib/mysql/bak_t_conf.sql

image.png


更多信息

对于表数据较小的建议使用方法一、对于表数据较大的建议使用方法二。