如何手动备份并查询MySQL数据库的分区数据?
- 行业动态
- 2024-09-24
- 1
EXPORT
语句导出数据文件。,3. 将导出的数据文件复制到安全存储位置。,4. 恢复数据时,使用
IMPORT
语句导入数据文件。,5. 重新启动 Doris 集群的写入操作。,,请根据具体需求和环境调整上述步骤。
手动备份Doris数据是确保数据安全和高可用性的重要步骤,本文将详细介绍如何通过MySQL查询数据库分区属性,并手动备份Doris数据。
手动备份Doris数据
1. 前提条件
在进行备份之前,需要确保以下几点:
已创建包含Doris服务的集群,且各服务运行正常。
Doris数据库的节点与MRS集群网络互通。
已安装MySQL客户端,并且能够连接Doris数据库。
创建具有Doris管理权限的用户。
集群已启用Kerberos认证(安全模式)或者未启用Kerberos认证(普通模式)。
2. 登录Doris数据库
使用MySQL客户端登录到Doris数据库,如果集群启用了Kerberos认证,需先执行以下命令再进行连接:
export LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN=1 mysql u数据库登录用户 p数据库登录用户密码 P数据库连接端口 hDoris FE实例IP地址
3. 创建远程仓库
在HDFS中创建一个远程仓库example_repo
,具体命令根据是否启用Kerberos认证有所不同:
启用Kerberos认证:
CREATE REPOSITORYexample_repo
WITH BROKERhdfs_broker
ON LOCATION "hdfs://hadoopnamenode:25000/path/to/repo/" PROPERTIES ( "hadoop.security.authentication"="kerberos", "kerberos_principal"="doris/hadoop.hadoop.com@HADOOP.COM", "kerberos_keytab"="/opt/huawei/Bigdata/FusionInsight_Doris_8.3.0/install/FusionInsightDoris1.2.3/dorisfe/bin/doris.keytab" );
未启用Kerberos认证:
CREATE REPOSITORYexample_repo
WITH BROKERhdfs_broker
ON LOCATION "hdfs://hadoopnamenode:25000/path/to/repo/" PROPERTIES ( "username" = "hdfs", "password" = "" );
查看已创建的仓库:
SHOW REPOSITORIES;
4. 备份数据到远程仓库
全量备份example_db
中的表example_tbl
数据到example_repo
中:
BACKUP SNAPSHOT example_db.snapshot_label1 TO example_repo ON (example_tbl) PROPERTIES ("type" = "full");
备份example_db
中的表example_tbl
的p1
、p2
分区,以及表example_tbl2
到example_repo
中:
BACKUP SNAPSHOT example_db.snapshot_label2 TO example_repo ON (example_tbl PARTITION (p1,p2), example_tbl2);
查看backup作业的执行情况:
SHOW BACKUP;
在远端仓库中查看备份是否成功:
SHOW SNAPSHOT ON example_repo WHERE SNAPSHOT = "snapshot_label1";
| snapshot_label1 | 20220408155229 | OK |
FAQs
1. 为什么建议按分区分别执行备份?
答:当表的数据量很大时,按分区分别执行备份可以降低失败重试的代价,因为备份恢复操作的都是实际的数据文件,当一个表的分片过多,或者一个分片有过多的小版本时,即使总数据量很小,依然需要备份很长时间。
2. 如何查看备份作业的状态?
答:可以通过执行SHOW BACKUP
命令来查看备份作业的执行情况,如果作业状态列不为CANCELLED,则说明作业依然在继续,这些任务有可能会重试成功,但有些任务错误会导致作业失败。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/47739.html