首先会启动一个xtrabackup_log后台检测的进程,实时检测mysql redo的变化,一旦发现redo有新的日志写入,立刻将日志写入到日志文件xtrab...
创建备份目录 mkdir -p /root/bin mkdir -p /bak/mysql-xback
代金券、腾讯视频VIP、QQ音乐VIP、QB、公仔等奖励等你来拿!
写入测试数据 创建脚本,脚本将创建一个single库,s1表,持续写入数据。 vim /root/bin/mysql_test.sh
1.2 对全备进行恢复 prepare阶段 innobackupex --apply-log --use-memory =1G /oradata/data/mysql/xtra/2019-05-27 _14-56-51 restore阶段 innobackupex --copy-back /oradata/data/mysql/xtra/2019-05-27_14-56-51 更改文件权限(可选) /incr --incremental-basedir=/oradata/data/mysql/xtra/full/2019-05-30_15-22-32 第二次增量备份 innobackupex - /incr --incremental-basedir=/oradata/data/mysql/xtra/incr/2019-05-30_15-23-39 2.2 对增量备份进行还原 prepare阶段 mysql/xtra/incr/2019-06-03_10-50-04 innobackupex --apply-log --use-memory=1G /oradata/data/mysql/xtra
> /oradata/data/mysql/xtra/backup.xbstream ? > /oradata/data/mysql/xtra/backup_compress.xbstream 可以看出比上面的多了个压缩的动作 ? 2.3 解压备份到指定目录 xbstream -x < /oradata/data/mysql/xtra/backup.xbstream -C /oradata/data/mysql/xtra/ 注意这里直接将所文件解压到指定目录 | ssh mysql@11.12.14.30 "xbstream -x -C /oradata/data/mysql/xtra/" 3. --password=123456 --stream=tar /oradata/data/mysql/xtra | bzip2 - > /oradata/data/mysql/xtra/backup_compress.tar.bz2
innobackupex -S /oradata/data/mysql/data/mysql.sock --user=backup --password=123456 /oradata/data/mysql/xtra 拷贝备份文件至备库 scp -r /oradata/data/mysql/xtra/2019-06-26_15-03-50 root@11.12.14.30:/oradata/data/mysql/xtra / chown -R mysql:mysql /oradata/data/mysql/xtra/2019-06-26_15-03-50 3.还原从库阶段 这里我们使用xtrabackup工具进行还原 ,而不是使用mysqldump innobackupex --apply-log --use-memory=1G /oradata/data/mysql/xtra/2019-06-26_15-03-50 关闭数据库清空数据文件目录后执行copy-back innobackupex --copy-back /oradata/data/mysql/xtra/2019-06-26_15-03-50
TO 'backup'@'localhost'; mysql> FLUSH PRIVILEGES; 1.2 建立备份目录 shell>mkdir -p /oradata/data/mysql/xtra /full shell>mkdir -p /oradata/data/mysql/xtra/incr 这里新建2个目录,分别放全备和增量的备份 注意 mysql用户需要有读写权限,并且该目录需要为空, 备份完成后可以看到在/oradata/data/mysql/xtra/full 目录下新建了以日期命名的目录 1.4 第一次增量备份 接下来我们进行第一次的增量备份,备份前我们可以首先更新一些数据库数据方便讲解 /incr --incremental-basedir=/oradata/data/mysql/xtra/full/2019-05-30_15-22-32 ? /incr --incremental-basedir=/oradata/data/mysql/xtra/incr/2019-05-30_15-23-39 ?
use-memory加快速度 2.1 prepare全备 innobackupex --apply-log --redo-only --use-memory=1G /oradata/data/mysql/xtra 注意这里第一个参数是全备的路径,第二个是增量的路径 innobackupex --apply-log --redo-only --use-memory=1G /oradata/data/mysql/xtra /full/2019-06-03_10-43-49 --incremental-dir=/oradata/data/mysql/xtra/incr/2019-06-03_10-50-04 2.4 最后的 这步是可选的,如果忘记的话,MySQL会在启动是自动执行这步,即做灾难恢复 innobackupex --apply-log --use-memory=1G /oradata/data/mysql/xtra datadir目录必须为空 命令允许用户必须对datadir目录有读写权限 使用datadi目录的数据库实例必须关闭 innobackupex --copy-back /oradata/data/mysql/xtra
TO 'backup'@'localhost'; mysql> FLUSH PRIVILEGES; 1.2 建立备份目录 shell>mkdir -p /oradata/data/mysql/xtra data/mysql.sock --user=backup --password=123456 --include='test.innodb_table' /oradata/data/mysql/xtra 必须是databasename.tablename这种形式 备份完成后可以看到在/oradata/data/mysql/xtra目录下新建了以日期命名的目录,而且只会备份和表相关的数据文件 该命令实际上会调用 data/mysql.sock --user=backup --password=123456 --tables-file=/tmp/tables.txt /oradata/data/mysql/xtra 备份完成后可以看到在/oradata/data/mysql/xtra目录下新建了以日期命名的目录,而且只会备份和文件中表相关的数据文件 不包含该表的数据库的目录不会建立 ?
* TO 'backup'@'localhost'; mysql> FLUSH PRIVILEGES; 1.2 建立备份目录 shell>mkdir -p /oradata/data/mysql/xtra data/mysql.sock --user=backup --password=123456 --include='test.innodb_table' /oradata/data/mysql/xtra 必须是databasename.tablename这种形式 备份完成后可以看到在/oradata/data/mysql/xtra目录下新建了以日期命名的目录,而且只会备份和表相关的数据文件 该命令实际上会调用 data/mysql.sock --user=backup --password=123456 --tables-file=/tmp/tables.txt /oradata/data/mysql/xtra 备份完成后可以看到在/oradata/data/mysql/xtra目录下新建了以日期命名的目录,而且只会备份和文件中表相关的数据文件 不包含该表的数据库的目录不会建立 ?
初步的结果 原来 whetstone 在执行浮点计算压测之前,有一个固定的步骤是预估待测 CPU 的主频,然后估算出一个工作量(保存在 xtra 变量里)给到压测函数中,再执行压测函数,最后综合 xtra xtra 的取值特点是:随着预估频率的增大而增大,目的是在一个足够宽的时间段内,压测出一个相对稳定可靠的浮点计算性能值。下图就是作者的注释(居然是在奔腾系列的测试例子,这年代有点久远哈)。 image.png 验证 接下来,我们修改了 Whetstone 的源码,主动控制 Whetstone 的 xtra 变量,经过多次运行、采样和统计,我们得到下面两张图(横坐标是计算量 xtra,纵坐标是 但是由于Whetstone在启动阶段预估的 xtra 变量比 C0C1 时的更大,导致其运行的计算指令数更多;另外一方面,Whetstone 最终针对 C0C1C6 设置的 xtra 约为 5700,而 C0C1 的 xtra 约为 4800,此时已经落入了上图的非线性区,C0C1C6 得出的压测结果实际上是偏低的。
typedef struct { size_t size; int (*init)( GpsXtraCallbacks* callbacks ); //植入XTRA int (*inject_xtra_data)( char* data, int length ); } GpsXtraInterface; inject_xtra_data函通过网络下载的Xtra 数据植入GPS中,同样在init函数中设置回调结构体GpsXtraCallbacks,作为下载Xtra数据的会的回调函数。
TO 'backup'@'localhost'; mysql> FLUSH PRIVILEGES; 1.2 建立备份目录 shell>mkdir -p /oradata/data/mysql/xtra innobackupex -S /oradata/data/mysql/data/mysql.sock --user=backup --password=123456 /oradata/data/mysql/xtra 备份完成后可以看到在/oradata/data/mysql/xtra目录下新建了以日期命名的目录 2. 备份过程分析 接下来分析下其备份的过程,从输出的日志上来看 2.1 命令提示部分 ?
后面接全备的目录 如果内存有空闲,可使用--use-memory加快速度 innobackupex --apply-log --use-memory =1G /oradata/data/mysql/xtra datadir目录必须为空 命令允许用户必须对datadir目录有读写权限 使用datadir目录的数据库实例必须关闭 innobackupex --copy-back /oradata/data/mysql/xtra
new GnssXtraCallback(); if (gnssXtraIface == nullptr) { ALOGE("Unable to initialize GNSS Xtra result) { gnssXtraIface = nullptr; ALOGI("SetCallback for Gnss Xtra Interface
--xtra-big-ass-heading: 3.052rem --xtra-heading: 2.441rem ... --heading-one: 1.953rem ...
xtra" "d?al" "?
如果内存有空闲,可使用--use-memory加快速度 innobackupex --apply-log --export --use-memory=1G /oradata/data/mysql/xtra
云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。 腾讯云服务器(CVM)为您提供安全可靠的弹性云计算服务。只需几分钟,您就可以在云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。
扫码关注云+社区
领取腾讯云代金券