6. ClustrixDB 备份恢复
ClustrixDB备份恢复:
一、传统MySQL的备份/恢复
shell> mysqldump -u user -h clustrix host --single-transaction --master-data=2 --all-databases > mydumpfile.dump
二、ClustrixDB的备份/恢复
备份testdb下面所有表到/tmp/backup目录中
MySQL [testdb]> select count(*) from userinfo_uuid;
+----------+
| count(*) |
+----------+
| 10000 |
+----------+
1 row in set (0.01 sec)MySQL [(none)]> backup testdb.* to "sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/backup" ;
Query OK, 0 rows affected (1.92 sec)
恢复:
MySQL [testdb]> drop database testdb;
Query OK, 0 rows affected (0.01 sec)MySQL [(none)]> RESTORE * FROM "sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/backup" REPLICAS = 1;
Query OK, 0 rows affected (59.74 sec)
MySQL [(none)]> RESTORE * FROM "sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/backup" REPLICAS = 2;
Query OK, 0 rows affected (1 min 52.63 sec)MySQL [testdb]> use testdb; show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| userinfo_uuid |
+------------------+
1 row in set (0.02 sec)MySQL [testdb]> select count(*) from userinfo_uuid;
+----------+
| count(*) |
+----------+
| 10000 |
+----------+
1 row in set (0.01 sec)
提高备份性能,默认备份进程一次备份一张表
MySQL [(none)]> show variables like 'bsackup_backup_concurrency';
+---------------------------+-------+
| Variable_name | Value |
+---------------------------+-------+
| backup_backup_concurrency | 1 |
+---------------------------+-------+
1 row in set (0.00 sec)MySQL [(none)]> backup scloud.*,test.* to "sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/backup" ;
Query OK, 0 rows affected (2.12 sec)MySQL [(none)]> \! sudo rm -rf /tmp/backup
MySQL [(none)]> set global backup_backup_concurrency=2;
Query OK, 0 rows affected (0.01 sec)MySQL [(none)]> backup scloud.*,test.* to "sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/backup" ;
Query OK, 0 rows affected (1.51 sec)
查看备份文件信息:
MySQL [system]> SELECT * from system.backups where source="sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/"\G
*************************** 1. row ***************************
source: sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/
backup: backup
cluster_name: cld32d48dc6ff9c79d
version: clustrix-9.2
status: COMPLETED
start_time: 2019-11-28 03:23:41.084376
completed_time: 2019-11-28 03:23:42.581939
bytes: 179548772
1 row in set (1.94 sec)
查看备份文件中表信息
MySQL [system]> SELECT * from system.backup_tables where source="sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/"\G;
*************************** 1. row ***************************
source: sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/
backup: backup
db: scloud
table: sbtest1
bytes: 179545464
*************************** 2. row ***************************
source: sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/
backup: backup
db: test
table: foo
bytes: 68
*************************** 3. row ***************************
source: sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/
backup: backup
db: test
table: sb2
bytes: 1608
*************************** 4. row ***************************
source: sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/
backup: backup
db: test
table: sbtest1
bytes: 1584
*************************** 5. row ***************************
source: sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/
backup: backup
db: test
table: t1
bytes: 26
*************************** 6. row ***************************
source: sftp://scloudusr:Scloud201!@10.1.3.88:2022/tmp/
backup: backup
db: test
table: t2
bytes: 22
6 rows in set (1.95 sec)
影响备份恢复的global参数:
Name |
Description |
Default Value |
---|---|---|
backup_backup_concurrency |
The number of tables that can be backed up simultaneously. |
1 |
backup_restore_concurrency | The maximum number of slices restored concurrently on each node. | 16 |
backup_write_compression_level | Compression level from 1 (fastest) to 9 (best compression) | 6 |
备份/恢复的错误列表
Backup
Error |
Meaning |
---|---|
Bad Parameter.:"Backup..." is invalid Bad parameter.: *.* is repeated in the list Bad parameter.: DB "..." is included multiple times Bad parameter.: "..." is included multiple times Bad parameter.: nothing to back up! Unrecognized backup url scheme: ... syntax error: ... |
Something is wrong with the BACKUP statement, please double check |
Generic Error: no user DB found Bad parameter.: Hidden database '...' cannot be backed up No such database: '...' Not found: Object "..." does not exist Not found: There are more than one "..." Backup only supported for TABLES right now: ... |
Trying to backup something that cannot be backed-up, or doesn't exist |
Representation is unavailable: ... Generic Backup Error: Couldn't find baserep for ... Generic Backup Error: Couldn't find columns for ... |
Trying to backup something currently unavailable |
Bad backup URL: ... |
Unable to parse URL or connect to FTP server |
Backup already exists in create: ... |
There is already a backup at that location |
Upload of slice was truncated on remote host: ... |
File written to backup was shorter than it should have been |
EXCLUDING *.* is invalid |
Would backup nothing |
“...” is repeated in the EXCLUDING clause |
Object is excluded more than once |
Restore
Error |
Meaning |
---|---|
Bad parameter.: "RESTORE ..." is invalid Bad parameter.: Global wildcard *.* is used together with other targets Bad parameter.: DB "..." already exists on server or in the target list Bad parameter.: Target "..." already exists Bad parameter.: "..." is repeated in the target list Generic Backup Error: newdbnames array length must be same as dbnames Unrecognized backup url scheme: ... syntax error: ... |
Something is wrong with the RESTORE statement |
Bad backup URL: ... |
Unable to parse URL or connect to FTP server |
Unable to open backup for url: ... |
Cannot open backup directory on FTP server |
Backup not available for restore: ... |
This backup did not complete successfully |
DB not found in backup: ... |
Trying to restore something that is not in the backup |
Object not found in backup: ... |
|
DB already exists in the target location: ... Generic Backup Error: could not parse create statement: ... |
Cannot create object |
Unable to validate CREATE statement: ... |
Created object does not match backed-up object |
Generic Backup Error: could not parse column types from backup table "..." Column type mismatch during restore: ... Hash layout mismatch during restore: ... |
|
Unable to locate stored CRC of file: ... Backup CRC Mismatch: ... Unable to locate uncompressed length of file: ... |
Backup is corrupt |
Restore truncated by incomplete read: ... |
Read too little data for a row |
“...” is repeated in the EXCLUDING clause |
Object is excluded more than once |
Relation not found: While restoring object db_name.obj_name... |
The object noted references another that does not exist. The missing object is shown in parenthesis.
For example, this error occurs if a table was excluded from the backup, but the associated views or triggers were not. |
Zlib errors
Error | Meaning |
---|---|
Internal Error: Unexpected buffering stop |
Internal buffering error |
Internal Error: Unexpected stop |
FTP Errors
Error |
Meaning |
---|---|
File not found |
|
FTP Socket Closed |
|
Invalid argument to API |
Bad internal usage of our FTP interface |
Socket timeout while waiting for server response |
|
Unexpected error response from server |
|
Unexpected response to PASS command |
|
Unexpected response to USER command |
|
Unexpected temporary error response from server |
SFTP Errors
Error |
Meaning |
---|---|
Error |
Meaning |
A file that isn’t a directory was specified when a directory is required |
|
An attempt was made to modify something on a read-only file system |
|
Bad file descriptor |
|
Broken pipe |
There is no process reading from the other end of a pipe |
Directory not empty, where an empty directory was expected |
Typically, this error occurs when you are trying to delete a directory |
File exists |
An existing file was specified in a context where it only makes sense to specify a new file |
No space left on device |
Write operation on a file failed because the disk is full |
No such device or address |
The system tried to use the device represented by a file you specified, and it couldn’t find the device |
No such file or directory |
|
Permission denied |
|
SSH authentication failed |
|
SSH timeout |
The SSH server closed the connection due to a timeout |
The socket is not connected to anything |
You get this error when you try to transmit data over a socket, without first specifying a destination for the data |
Too many levels of symbolic links were encountered in looking up a file name |
This often indicates a cycle of symbolic links |
Unexpected SSH error |
Something happened during the SSH protocol that we didn't expect |
6. ClustrixDB 备份恢复的更多相关文章
- MySQL 系列(四)主从复制、备份恢复方案生产环境实战
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- 基于MySQL MEB的备份恢复
MEB(MySQL Enterprise Backup)是MySQL商业版中提供的备份工具,属于物理备份. 同XtraBackup一样,mysqlbackup的使用过程同样包含如下三个步骤: 备份(- ...
- Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复
Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...
- 在Linux操作系统下备份恢复技术的应用 转自https://yq.aliyun.com/articles/50205?spm=5176.100239.blogcont24250.9.CfBYE9
摘要: 安全防护:在Linux操作系统下备份恢复技术的应用 原文参见:http://linux.chinaunix.net/techdoc/system/2005/12/19/925898.shtm ...
- mongodb 的备份恢复导入与导出
导入导出 use hndb; db.s.save({name:'李四',age:18,score:80,address:'郑州'}); db.s.save({name:'李三',age:8,score ...
- [转]PLSQL Developer备份恢复oracle数据
本文转自:http://www.cnblogs.com/iampkm/archive/2013/06/09/3128273.html 使用PL sql提供的功能可以快速的备份恢复oracle数据. 1 ...
- MongoDB学习(三)数据导入导出及备份恢复
这几天想着公司要用MongoDB,自然就要用到数据导入导出,就自己学习了一下. 在Mongo学习(二)中就讲到了在bin目录下有一些工具,本篇就是使用这些工具进行数据的导入导出及备份恢复. 注意:以下 ...
- Oracle RMAN备份恢复指导书
目 录 1 目的与范围... 1 2 术语和定义... 1 3 角色和职责... 2 4 使用RMAN备份数据库... 2 4.1.1 检查数据库模式... 2 4.1.2 连接到target数据库. ...
- 中小型数据库 RMAN CATALOG 备份恢复方案(二)
中小型数据库呈现的是数据库并发少,数据库容量小,版本功能受限以及N多单实例等特点.尽管如此,数据库的损失程度也会存在零丢失的情形.企业不愿意花太多的钱又要保证数据库的可靠稳定,可是苦煞了我这些搞DB的 ...
随机推荐
- python学习之函数(二)
4.4.6 动态传参 动态传参是针对形参而言 1.动态位置参数 在静态位置参数时,我们知道,定义函数时有几个位置参数,调用时就必须给几个实参,不能多也不能少.有时候,实际应用过程中,参数往往不能固 ...
- Java锁机制ReentrantLock
ReentrantLock 锁常用于保证程序的人为顺序执行. 写一个类模拟ReentrantLock类的功能 class MyLock{ private boolean lock = false; p ...
- windows系统安装的两个阶段
windows visa .windows7.windows server 2008系统安装的两个阶段1.Boot.WIM----Windows PE系统.提供了windows7安装向导! 2.Ins ...
- 【Qt开发】QSplitter的使用和设置
Qt库版本:5.2.1 Qt Creator版本:3.0.1 1 QSplitter的用途 QSplitter使得用户可以通过拖动子窗口之间的边界来控制它们的大小,例如 图1 窗口拆分示意图 ...
- 【VS开发】【图像处理】基于灰度世界、完美反射、动态阈值等图像自动白平衡算法的原理、实现及效果
基于灰度世界.完美反射.动态阈值等图像自动白平衡算法的原理.实现及效果 白平衡是电视摄像领域一个非常重要的概念,通过它可以解决色彩还原和色调处理的一系列问题.白平衡是随着电子影像再现色彩真实 ...
- 【VS开发】【智能语音处理】特定人语音识别算法—DTW算法
DTW(动态时间弯折)算法原理:基于动态规划(DP)的思想,解决发音长短不一的模板匹配问题.相比HMM模型算法,DTW算法的训练几乎不需要额外的计算.所以在孤立词语音识别中,DTW算法仍得到广泛的应用 ...
- python 并发编程 多线程 GIL与Lock
GIL与Lock Python已经有一个GIL来保证同一时间只能有一个线程来执行了,为什么这里还需要互斥锁lock? 锁的目的是为了保护共享的数据,同一时间只能有一个线程来修改共享的数据 GIT保证了 ...
- 【Linux 网络编程】端口
(1)众所周知的端口:0~1023,这些端口由IANA分配和控制它们紧密绑定用于一些服务.常用这些端口的通讯 明确表明了某些协议.例如:21端口为ftp服务端口. (2)注册端口:1024~49 ...
- java按值传递?
原文链接:https://blog.csdn.net/scholar_man/article/details/80900212 在Java中,参数都是按值传递的.被传递到方法中的拷贝值,要不就是一个引 ...
- python正则表达式re 中m.group和m.groups的解释
转载:http://www.cnblogs.com/kaituorensheng/archive/2012/08/20/2648209.html 先看代码instance: >>> ...