首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL批量操作及XBK安装简介

大家好,我是anyux。本文介绍MySQL批量操作及XBK安装简介。

批量操作

以下语句只能在屏幕显示出拼接后的语句,但是无法导入到文件中

selectconcat("alter table ",table_schema," ",table_name," discard tablespace;")frominformation_schema.tableswheretable_schema='world';

写入拼接语句到文件

需要设置导出数据限制,重启数据库

vim /etc/my.cnf

[mysqld]

secure-file-priv=

selectconcat("alter table ",table_schema," ",table_name," discard tablespace;")frominformation_schema.tableswheretable_schema='world'intooutfile'/tmp/discard.sql';

此时/tmp/discard.sql就是一个sql文件,配置mysql -e命令,与定时任务配置,可以完成自动化操作,节省人力成本

导出数据行到文件

select*fromcityintooutfile'/tmp/city.csv';

cat /tmp/city.csv

导出结果,如下图所示,可以使用Excel打开,使用此种方式,可以用作异构平台数据迁移

Xtrabackup

安装XBK

wget-O/etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum-yinstall perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL libdev

wgethttps://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.18/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.18-1.el7.x86_64.rpm

rpm-ivhpercona-xtrabackup-24-2.4.18-1.el7.x86_64.rpm

查看版本

innobackupex--version

备份的过程

1.针对非InnoDB进行锁表备份,copy所有的非innoDB表文件

在恢复时,xbk会调用InnoDB引擎的CSR过程,将数据和redo的LSN号追平,然后进行一致性恢复

恢复过程

模拟了CSR的全过程,在恢复之前,将数据的LSN号和redo LSN号追平,恢复方法是直接复制

XBK的全备和恢复

mkdir -p /tmp/db

备份

innobackupex --defaults-file=/etc/my.cnf --user=root --password='root' -S /data/mysql/mysql.sock --no-timestamp /tmp/db

恢复

innobackupex--apply-log/tmp/db

再复制文件即可

看到下图中completed表示安装成功

备份文件介绍

除正常的数据库文件外,还包含其他文件,如下

xtrabackup_binlog_info 备份过程中二进制信息

记录二进制文件名称,及pos号,gtid号,可以作为二进制日志截取日志的起点

cd/tmp/db

catxtrabackup_binlog_info

xtrabackup_checkpoints 记录当前备份类型,全备是0,增量是上次备份的结束位置。备份前的to_lsn号,备份后的last_lsn号,下次增量备份的起始位置,默认差9个数值,用来做redo维护

catxtrabackup_checkpoints

xtrabackup_info 所有备份信息

catxtrabackup_info

xtrabackup_logfile redo二进制文件 备份过程中的日志文件

strings xtrabackup_logfile

欢迎在评论区一起讨论,质疑。文章都是手打原创,每天最浅显的介绍运维、数据库相关的技术,喜欢我的文章就关注一波吧,可以看到最新更新和之前的文章。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200317A0005700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券