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 /fullbak
rm -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 -p123456
mysql> 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)