欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

DBA(二):percona软件、innobackupex备份与恢复

发布时间:2025/3/21 编程问答 29 豆豆
生活随笔 收集整理的这篇文章主要介绍了 DBA(二):percona软件、innobackupex备份与恢复 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

percona软件介绍

MySQL备份工具

常用的MySQL备份工具
  • 物理备份的缺点
  • 跨平台性差
  • 备份时间长、冗余备份、浪费存储空间
  • mysqldump备份的缺点
  • 效率较低、备份和还原速度慢、锁表
  • 备份过程中,数据插入和更新操作被阻塞
XtraBackup工具
  • 开源,是一款强大的在线热备份工具
  • 备份过程中不锁库表,适合生产环境
  • 由专业组织Percona提供(改进MySQL分支)
  • 主要包含两个组件
  • xtrabackup:C程序,支持InnoDB/XtraDB
  • innobackupex:以Perl脚本封装xtrabackup,还支持MyISAM
安装percona

libev软件
提取码:mrt8
percona软件包
提取码:wnmo
libev软件包可以直接使用rpm命令安装
percona软件要到下载软件的目录进行yum安装,解决依赖

[root@host51 ~]# rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm [root@host51 ~]# yum -y install percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm [root@host51 ~]# which innobackupex /usr/bin/innobackupex
  • 查看安装列表
[root@host51 ~]# rpm -ql percona-xtrabackup-24 /usr/bin/innobackupex //备份innodb、xtrdb、myisam引擎的表 /usr/bin/xbcloud /usr/bin/xbcloud_osenv /usr/bin/xbcrypt /usr/bin/xbstream /usr/bin/xtrabackup //备份innodb、xtrdb引擎的表 /usr/share/doc/percona-xtrabackup-24-2.4.7 /usr/share/doc/percona-xtrabackup-24-2.4.7/COPYING /usr/share/man/man1/innobackupex.1.gz /usr/share/man/man1/xbcrypt.1.gz / usr/share/man/man1/xbstream.1.gz /usr/share/man/man1/xtrabackup.1.gz
  • 查看命令帮助
[root@host51 ~]# innobackupex --help //常用选项 [root@host51 ~]# man innobackupex //详细帮助
innobackupex命令
  • 常用选项
常用选项含义
–host主机名
–user用户名
–port端口号
–password密码
–databases数据库名
–no-timestamp不用日期命名备份文件存储的子目录名
–redo-only日志合并
–apply-log准备恢复数据
–copy-log拷贝数据
–incremental 目录名增量备份
–increment-basedir=目录名增量备份时,制定上一次备份数据存储的目录名
–increment-dir=目录名准备恢复数据时,指定增量备份数据存储的目录名
–export导出表信息
import导入表空间
--databases="库名" //1个库 --databases="库1 库2" //多个库 --databases="库1.表" //1张表
  • 命令格式
  • 完全备份
[root@host51 ~]# innobackupex --user 用户名 --password 密码 备份目录名 --no-timestamp
  • 完全恢复
[root@host51 ~]# innobackupex --apply-log 目录名 //准备恢复数据 [root@host51 ~]# innobackupex --copy-log 目录名 //恢复数据
  • 增量备份
[root@host51 ~]# innobackupex --user 用户名 --password 密码 --incremental 增量目录 --increment-basedir=目录名 --no-timestamp
  • 增量恢复
[root@host51 ~]# innobackupex --apply-log --redo-only 目录名 --no-timestamp //准备恢复数据 [root@host51 ~]# innobackupex --copy-back 目录名 //恢复数据

innobackupex备份与恢复

完全备份与恢复

应用示例:在host51主机将所有信息备份,在host52主机做完全恢复,在备份的过程中不会对备份的表加锁,但是要求必须在空库下进行备份

准备环境: 首先!实验的所有主机都一定要有percona软件以及libev软件 实验将host51主机的库还原成初始状态的库 创建一个新的用于实验的库 创建两个存储数据的表,分别疯狂的写入数据 在51主机上 mysql> drop database db1 ; drop database db2 ; drop database db3; mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) mysql> create database gamedb; mysql> create table gamedb.a(id int); mysql> create table gamedb.b(name char(10)); mysql> insert into gamedb.a values(10); #多创建几个 mysql> insert into gamedb.b values("bob"); #多创建几个 mysql> select count(*) from gamedb.a ; +----------+ | count(*) | +----------+ | 10 | +----------+ 1 row in set (0.01 sec)mysql> select count(*) from gamedb.b ; +----------+ | count(*) | +----------+ | 11 | +----------+ 1 row in set (0.00 sec)mysql> select * from gamedb.a; +------+ | id | +------+ | 10 | | 11 | | 12 | | 100 | | 500 | | 566 | | 43 | | 4455 | | 4457 | | 3552 | +------+ 10 rows in set (0.00 sec)mysql> select * from gamedb.b; +--------+ | name | +--------+ | tian | | bob | | aaa | | bbb | | ccc | | sss | | ddd | | eee | | ffff | | gjkgjk | | fffghh | +--------+ 11 rows in set (0.00 sec)innobackupex --user root --password 123456 /fullbakrm -rf /fullbak/ innobackupex --user root --password 123456 /fullbak --no-timestamp ls /fullbak[root@host51 ~]# cat /fullbak/xtrabackup_checkpoints 记录当前备份数据的类型和范围 backup_type = full-backuped from_lsn = 0 to_lsn = 3010832 last_lsn = 3010841 compact = 0 recover_binlog_info = 0 [root@host51 ~]# scp -r /fullbak/ 192.168.4.52:/root在52主机上进行数据恢复,在52主机上也要有两个软件包 恢复数据的步骤: 1.关闭mysqld服务 2.删除数据库目录下的所有,恢复数据时要求目录为空 3.准备恢复数据 4.恢复数据 5.修改当前数据库目录的拥有者和所属组为mysql 6.重启服务 7.以root用户登录数据库查看数据是否恢复成功 [root@host52 ~]# systemctl stop mysqld //关闭服务 [root@host52 ~]# rm -rf /var/lib/mysql/* //清空目录下的所有,注意不要写成mysql*,这样会删除两个重要文件/mysql-files以及/mysql-keyring,这样会导致后面的数据库进不去哟!!!! [root@host52 ~]# ls /var/lib/mysql #此时该目录下是空的 [root@host52 ~]# cat /root/fullbak/xtrabackup_checkpoints //该文件可以看到备份文件的类型以及备份的范围 backup_type = full-backuped from_lsn = 0 to_lsn = 3010832 last_lsn = 3010841 compact = 0 recover_binlog_info = 0 [root@host52 ~]# ls /root/fullbak/ backup-my.cnf ib_logfile0 performance_schema xtrabackup_checkpoints gamedb ib_logfile1 sys xtrabackup_info ib_buffer_pool ibtmp1 xtrabackup_binlog_info xtrabackup_logfile ibdata1 mysql xtrabackup_binlog_pos_innodb [root@host52 ~]#innobackupex --apply-log /root/fullbak/ 准备恢复数据 [root@host52 ~]#cat /root/fullbak/xtrabackup_checkpoints backup_type = full-prepared from_lsn = 0 to_lsn = 3010832 last_lsn = 3010841 compact = 0 recover_binlog_info = 0 [root@host52 ~]#ls /var/lib/mysql #此时是空的 [root@host52 ~]# innobackupex --copy-back /root/fullbak/ //恢复数据 [root@host52 ~]#ls /var/lib/mysql gamedb ib_logfile0 mysql xtrabackup_binlog_pos_innodb ib_buffer_pool ib_logfile1 performance_schema xtrabackup_info ibdata1 ibtmp1 sys [root@host52 ~]# ls -l /var/lib/mysql 总用量 122920 drwxr-x---. 2 root root 72 2月 19 17:24 gamedb -rw-r-----. 1 root root 480 2月 19 17:24 ib_buffer_pool -rw-r-----. 1 root root 12582912 2月 19 17:24 ibdata1 -rw-r-----. 1 root root 50331648 2月 19 17:24 ib_logfile0 -rw-r-----. 1 root root 50331648 2月 19 17:24 ib_logfile1 -rw-r-----. 1 root root 12582912 2月 19 17:24 ibtmp1 drwxr-x---. 2 root root 4096 2月 19 17:24 mysql drwxr-x---. 2 root root 8192 2月 19 17:24 performance_schema drwxr-x---. 2 root root 8192 2月 19 17:24 sys -rw-r-----. 1 root root 17 2月 19 17:24 xtrabackup_binlog_pos_innodb -rw-r-----. 1 root root 482 2月 19 17:24 xtrabackup_info [root@host52 ~]#chown -R mysql:mysql /var/lib/mysql [root@host52 ~]# ls -l /var/lib/mysql 总用量 122920 drwxr-x---. 2 mysql mysql 72 2月 19 02:46 gamedb -rw-r-----. 1 mysql mysql 480 2月 19 02:46 ib_buffer_pool -rw-r-----. 1 mysql mysql 12582912 2月 19 02:46 ibdata1 -rw-r-----. 1 mysql mysql 50331648 2月 19 02:46 ib_logfile0 -rw-r-----. 1 mysql mysql 50331648 2月 19 02:46 ib_logfile1 -rw-r-----. 1 mysql mysql 12582912 2月 19 02:46 ibtmp1 drwxr-x---. 2 mysql mysql 4096 2月 19 02:46 mysql drwxr-x---. 2 mysql mysql 8192 2月 19 02:46 performance_schema drwxr-x---. 2 mysql mysql 8192 2月 19 02:46 sys -rw-r-----. 1 mysql mysql 17 2月 19 02:46 xtrabackup_binlog_pos_innodb -rw-r-----. 1 mysql mysql 482 2月 19 02:46 xtrabackup_info[root@host52 ~]#systemctl restart mysqld [root@host52 ~]# mysql -uroot -p123456 mysql>show databases; +--------------------+ | Database | +--------------------+ | information_schema | | gamedb | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.01 sec)mysql>select * from gamedb.a; +------+ | id | +------+ | 10 | | 11 | | 12 | | 100 | | 500 | | 566 | | 43 | | 4455 | | 4457 | | 3552 | +------+ 10 rows in set (0.07 sec)mysql>select * from gamedb.a; +--------+ | name | +--------+ | tian | | bob | | aaa | | bbb | | ccc | | sss | | ddd | | eee | | ffff | | gjkgjk | | fffghh | +--------+ 11 rows in set (0.01 sec) mysql> select count(*) from gamedb.b; +----------+ | count(*) | +----------+ | 11 | +----------+ 1 row in set (0.00 sec)mysql> select count(*) from gamedb.a; +----------+ | count(*) | +----------+ | 10 | +----------+ 1 row in set (0.00 sec)
恢复单张表
  • 操作步骤:
    1.删除表空间
    2.导出表信息
    3.拷贝表信息文件到数据库目录下
    4.修改表信息文件的所有者以及组用户为mysql
    5.导入表空间, 表空间:存储数据的表文件(表名.ibd)
    6.删除数据库目录下的表信息文件
    7.查看表记录
  • 相关命令
mysql > alter table 库名.表名 discard tablespace; //删除表空间 ]# innobackupex --apply-log --export 数据库完全备份目录 //导出表信息 ]# cp 数据完全备份目录/数据库名目录/表名.{ibd,cfg,exp} 数据库目录/库名目录 //拷贝信息文件 ]# chown mysql:mysql 数据库目录/库名 //修改所有者所属组 mysql > alter table 库名.表名 import tablespace; //导入表空间 mysql > select * from 库名.表名; //查看表记录 ]# rm -rf 数据库目录/库名/表名.{cfg,exp} //删除表信息文件 在host52主机上模拟不小心删除了gamedb库下的b表,在host51主机上备份还原回数据 [root@host52 ~]# mysql -uroot -p123456mysql> select * from gamedb.b; +--------+ | name | +--------+ | tian | | bob | | aaa | | bbb | | ccc | | sss | | ddd | | eee | | ffff | | gjkgjk | | fffghh | +--------+ 11 rows in set (0.00 sec)mysql> delete from gamedb.b; Query OK, 11 rows affected (0.06 sec)mysql> select * from gamedb.b; Empty set (0.00 sec)mysql> show tables; +------------------+ | Tables_in_gamedb | +------------------+ | a | | b | | c | +------------------+ 3 rows in set (0.00 sec)[root@host52 ~]# mysql -uroot -p123456 mysql> delete from gamedb.b; #如果不小心将整个表drop掉了,一定要先重建一个同样的表,以及同样的表结构 Query OK, 11 rows affected (0.06 sec)mysql> select * from gamedb.b; Empty set (0.00 sec)mysql> create table gamedb.c(name char(10) ,sex enum("boy","girl")); Query OK, 0 rows affected (0.02 sec)[root@host52 ~]# ls /var/lib/mysql/gamedb a.frm a.ibd b.frm b.ibd c.frm c.ibd db.opt[root@host52 ~]# ls /root/fullbak/ backup-my.cnf ib_logfile0 performance_schema xtrabackup_checkpoints gamedb ib_logfile1 sys xtrabackup_info ib_buffer_pool ibtmp1 xtrabackup_binlog_info xtrabackup_logfile ibdata1 mysql xtrabackup_binlog_pos_innodb[root@host52 ~]# mysql -uroot -p123456 mysql> alter table gamedb.b discard tablespace; Query OK, 0 rows affected (0.00 sec)mysql> select * from gamedb.b; #提示没有gamedb的b表的表空间 ERROR 1814 (HY000): Tablespace has been discarded for table 'b'[root@host52 ~]# cd /root/fullbak/ [root@host52 fullbak]# ls backup-my.cnf ib_logfile0 performance_schema xtrabackup_checkpoints gamedb ib_logfile1 sys xtrabackup_info ib_buffer_pool ibtmp1 xtrabackup_binlog_info xtrabackup_logfile ibdata1 mysql xtrabackup_binlog_pos_innodb [root@host52 fullbak]# ls gamedb/ a.frm a.ibd b.frm b.ibd db.opt [root@host52 fullbak]# innobackupex --apply-log --export /root/fullbak[root@host52 fullbak]# ls gamedb/ a.cfg a.exp a.frm a.ibd b.cfg b.exp b.frm b.ibd db.opt [root@host52 fullbak]# ls /var/lib/mysql auto.cnf ibdata1 ibtmp1 mysql.sock.lock xtrabackup_binlog_pos_innodb gamedb ib_logfile0 mysql performance_schema xtrabackup_info ib_buffer_pool ib_logfile1 mysql.sock sys [root@host52 fullbak]# cp /root/fullbak/gamedb/b.{cfg,exp,ibd} /var/lib/mysql/gamedb/[root@host52 fullbak]# ls -l /var/lib/mysql/gamedb/b.* -rw-r--r--. 1 root root 372 2月 19 18:16 /var/lib/mysql/gamedb/b.cfg -rw-r-----. 1 root root 16384 2月 19 18:16 /var/lib/mysql/gamedb/b.exp -rw-r-----. 1 mysql mysql 8560 2月 19 17:24 /var/lib/mysql/gamedb/b.frm -rw-r-----. 1 root root 98304 2月 19 18:16 /var/lib/mysql/gamedb/b.ibd[root@host52 fullbak]# chown mysql:mysql /var/lib/mysql/gamedb/b.*[root@host52 fullbak]# ls -l /var/lib/mysql/gamedb/b.* -rw-r--r--. 1 mysql mysql 372 2月 19 18:16 /var/lib/mysql/gamedb/b.cfg -rw-r-----. 1 mysql mysql 16384 2月 19 18:16 /var/lib/mysql/gamedb/b.exp -rw-r-----. 1 mysql mysql 8560 2月 19 17:24 /var/lib/mysql/gamedb/b.frm -rw-r-----. 1 mysql mysql 98304 2月 19 18:16 /var/lib/mysql/gamedb/b.ibd[root@host52 ~]# mysql -uroot -p123456 mysql> select * from gamedb.b; #此时依旧提示没有gamedb的b表的表空间 ERROR 1814 (HY000): Tablespace has been discarded for table 'b'mysql> alter table gamedb.b import tablespace; Query OK, 0 rows affected (0.11 sec)mysql> select * from gamedb.b; +--------+ | name | +--------+ | tian | | bob | | aaa | | bbb | | ccc | | sss | | ddd | | eee | | ffff | | gjkgjk | | fffghh | +--------+ 11 rows in set (0.00 sec)[root@host52 fullbak]# rm -rf /var/lib/mysql/gamedb/b.exp [root@host52 fullbak]# rm -rf /var/lib/mysql/gamedb/b.cfg #要删除.exp以及.cfg为结尾的文件,否则如果要删除该表时会报错数据库目录下有.cfg、.frm、.ibd、 .ibd 记录数据的文件,存储表记录 .frm 存储表结构 .exp、.cfg 存储数据的备份信息,是二进制文件,是执行innobackupex生成的文件 每张表都一定会有表结构以及表记录文件
增量备份与恢复
  • 增量备份:备份上次备份后,所有新产生的数据
  • 1.如何判断所有的数据里,哪些是新产生的数据?
  • 2.从哪里开始备份新产生的数据?
  • 原理:
  • 每一个备份目录下都会有一个xtrabackup_checkpoints记录备份的类型和范围,innobackupex在执行备份时,会对比完全备份后备份目录中的last_lsn和当前的last_lsn进行对比,如果数据变大,则是新产生的数据
假如我们每天都会产生新的数据,可以在周一的时候做完全备份,周二至周日可以用mysqldump做增量备份或者差异备份,但mysqldump备份时会锁表,不建议进行此操作,我们可以用innobackupex做增量备份,不会锁表,但如果数据丢失,在进行恢复时一定要确保数据库目录是空的 模拟实验环境,在host51上面做完全备份以及增量备份,在host54(192.168.4.54)上面做数据恢复做完全备份: [root@host51 ~]# innobackupex --user root --password 123456 /allbak --no-timestamp[root@host51 ~]# ls /allbak/ backup-my.cnf ibdata1 sys xtrabackup_info gamedb mysql xtrabackup_binlog_info xtrabackup_logfile ib_buffer_pool performance_schema xtrabackup_checkpoints [root@host51 ~]# cat /allbak/xtrabackup_checkpoints backup_type = full-backuped from_lsn = 0 to_lsn = 3013326 last_lsn = 3013335 compact = 0 recover_binlog_info = 0 #LSN 日志序列号 #ib_logfile0 ib_logfile1 日志文件 #to_lsn是第一次备份后备份目录下最后的值 #last_lsn是数据库目录下备份最后的值在host51上多写入些记录 mysql> select count(*) from gamedb.b; +----------+ | count(*) | +----------+ | 11 | +----------+ 1 row in set (0.00 sec)mysql> select count(*) from gamedb.a; +----------+ | count(*) | +----------+ | 10 | +----------+ 1 row in set (0.00 sec)mysql> insert into gamedb.a values(113); Query OK, 1 row affected (0.00 sec) mysql> insert into gamedb.b values("xxxx"); Query OK, 1 row affected (0.00 sec) mysql> select count(*) from gamedb.a; +----------+ | count(*) | +----------+ | 20 | +----------+ 1 row in set (0.00 sec)mysql> select count(*) from gamedb.b; +----------+ | count(*) | +----------+ | 22 | +----------+ 1 row in set (0.00 sec)mysql> show create table gamedb.b \G #默认是innodb存储引擎 *************************** 1. row ***************************Table: b Create Table: CREATE TABLE `b` (`name` char(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 1 row in set (0.00 sec)在host51上开始做增量备份: [root@host51 ~]# innobackupex --user root --password 123456 --incremental /onedir --incremental-basedir=/allbak --no-timestamp //进行增量备份 #--no-timestamp 不在指定的备份文件夹内创建子文件夹 [root@host51 ~]# ls /allbak/ backup-my.cnf ibdata1 sys xtrabackup_info gamedb mysql xtrabackup_binlog_info xtrabackup_logfile ib_buffer_pool performance_schema xtrabackup_checkpoints [root@host51 ~]# ls /onedir/ backup-my.cnf ibdata1.delta performance_schema xtrabackup_checkpoints gamedb ibdata1.meta sys xtrabackup_info ib_buffer_pool mysql xtrabackup_binlog_info xtrabackup_logfile[root@host51 ~]# cat /allbak/xtrabackup_checkpoints #查看此时备份的类型为完全备份 backup_type = full-backuped from_lsn = 0 to_lsn = 3013326 last_lsn = 3013335 compact = 0 recover_binlog_info = 0[root@host51 ~]# cat /onedir/xtrabackup_checkpoints #备份的开始是完全备份的结尾数据,类型是增量 backup_type = incremental from_lsn = 3013326 to_lsn = 3025984 last_lsn = 3025993 compact = 0 recover_binlog_info = 0[root@host51 ~]# innobackupex --user root --password 123456 --incremental /twodir --incremental-basedir=/onedir --no-timestamp #再次在host51上面写数据,然后再次进行增量备份到twodir目录 mysql> select count(*) from gamedb.a; +----------+ | count(*) | +----------+ | 30 | +----------+ 1 row in set (0.00 sec)mysql> select count(*) from gamedb.b; +----------+ | count(*) | +----------+ | 33 | +----------+ 1 row in set (0.00 sec)[root@host51 ~]# cat /onedir/xtrabackup_checkpoints backup_type = incremental from_lsn = 3013326 to_lsn = 3025984 last_lsn = 3025993 compact = 0 recover_binlog_info = 0 [root@host51 ~]# cat /twodir/xtrabackup_checkpoints backup_type = incremental from_lsn = 3025984 to_lsn = 3038542 last_lsn = 3038551 compact = 0 recover_binlog_info = 0增量恢复,在host54上做恢复 此时host54主机拥有allback+onedir+twodir首先停止数据库服务 清空数据库目录 准备恢复数据 合并数据 把数据拷贝到数据库目录下 修改文件所有者用户为mysql 启动服务 管理员登录查看数据[root@host51 ~]# scp -r /allbak/ root@192.168.4.54:/root [root@host51 ~]# scp -r /onedir/ root@192.168.4.54:/root [root@host51 ~]# scp -r /twodir/ root@192.168.4.54:/root [root@host54 ~]# ls allbak onedir twodir [root@host54 ~]# ss -nutlp | grep 3306 tcp LISTEN 0 80 :::3306 :::* users:(("mysqld",pid=1095,fd=30)) [root@host54 ~]# systemctl stop mysqld[root@host54 ~]# rm -rf /var/lib/mysql/*[root@host54 ~]# ls /var/lib/mysql[root@host54 ~]# innobackupex --apply-log --redo-only /root/allbak [root@host54 ~]# cat /root/allbak/xtrabackup_checkpoints backup_type = log-applied from_lsn = 0 to_lsn = 3013326 last_lsn = 3013335 compact = 0 recover_binlog_info = 0 [root@host54 ~]# innobackupex --apply-log --redo-only /root/allbak/ --incremental-dir=/root/onedir [root@host54 ~]# cat /root/allbak/xtrabackup_checkpoints backup_type = log-applied from_lsn = 0 to_lsn = 3025984 last_lsn = 3025993 compact = 0 recover_binlog_info = 0 [root@host54 ~]# cat /root/onedir/xtrabackup_checkpoints backup_type = incremental from_lsn = 3013326 to_lsn = 3025984 last_lsn = 3025993 compact = 0 recover_binlog_info = 0 [root@host54 ~]# innobackupex --apply-log --redo-only /root/allbak/ --incremental-dir=/root/twodir [root@host54 ~]# cat /root/allbak/xtrabackup_checkpoints backup_type = log-applied from_lsn = 0 to_lsn = 3038542 last_lsn = 3038551 compact = 0 recover_binlog_info = 0 [root@host54 ~]# cat /root/twodir/xtrabackup_checkpoints backup_type = incremental from_lsn = 3025984 to_lsn = 3038542 last_lsn = 3038551 compact = 0 recover_binlog_info = 0[root@host54 ~]# innobackupex --copy-back /root/allbak/[root@host54 ~]# ls /var/lib/mysql gamedb ib_logfile0 performance_schema xtrabackup_info ib_buffer_pool ib_logfile1 sys ibdata1 mysql xtrabackup_binlog_pos_innodb[root@host54 ~]# ls -l /var/lib/mysql 总用量 110632 drwxr-x---. 2 root root 72 2月 19 21:33 gamedb -rw-r-----. 1 root root 587 2月 19 21:33 ib_buffer_pool -rw-r-----. 1 root root 12582912 2月 19 21:33 ibdata1 -rw-r-----. 1 root root 50331648 2月 19 21:33 ib_logfile0 -rw-r-----. 1 root root 50331648 2月 19 21:33 ib_logfile1 drwxr-x---. 2 root root 4096 2月 19 21:33 mysql drwxr-x---. 2 root root 8192 2月 19 21:33 performance_schema drwxr-x---. 2 root root 8192 2月 19 21:33 sys -rw-r-----. 1 root root 18 2月 19 21:33 xtrabackup_binlog_pos_innodb -rw-r-----. 1 root root 532 2月 19 21:33 xtrabackup_info[root@host54 ~]# chown -R mysql:mysql /var/lib/mysql[root@host54 ~]# ls -l /var/lib/mysql 总用量 110632 drwxr-x---. 2 mysql mysql 72 2月 19 21:33 gamedb -rw-r-----. 1 mysql mysql 587 2月 19 21:33 ib_buffer_pool -rw-r-----. 1 mysql mysql 12582912 2月 19 21:33 ibdata1 -rw-r-----. 1 mysql mysql 50331648 2月 19 21:33 ib_logfile0 -rw-r-----. 1 mysql mysql 50331648 2月 19 21:33 ib_logfile1 drwxr-x---. 2 mysql mysql 4096 2月 19 21:33 mysql drwxr-x---. 2 mysql mysql 8192 2月 19 21:33 performance_schema drwxr-x---. 2 mysql mysql 8192 2月 19 21:33 sys -rw-r-----. 1 mysql mysql 18 2月 19 21:33 xtrabackup_binlog_pos_innodb -rw-r-----. 1 mysql mysql 532 2月 19 21:33 xtrabackup_info [root@host54 ~]# systemctl start mysqld [root@host54 ~]# mysql -uroot -p123456 mysql> select count(*) from gamedb.a; +----------+ | count(*) | +----------+ | 30 | +----------+ 1 row in set (0.02 sec)mysql> select count(*) from gamedb.b; +----------+ | count(*) | +----------+ | 33 | +----------+ 1 row in set (0.00 sec)

总结

以上是生活随笔为你收集整理的DBA(二):percona软件、innobackupex备份与恢复的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。