MySQL物理备份还原
1、创建测试库和测试数据
用于验证之后的还原的操作
mysql> create database test;
Query OK, 1 row affected (5.00 sec)
mysql> use test;
Database changed
mysql> create table test(a int);
Query OK, 0 rows affected (0.02 sec)
mysql> insert into test values(1);
Query OK, 1 row affected (0.03 sec)
2、进行简单备份
出现“completed OK!”代表备份成功
[root@mysql ~]# innobackupex --defaults-file=/etc/my.cnf --no-timestamp --user=root --password=Gepoint -S /tmp/mysql.sock --parallel=4 --extra-lsndir=/opt/backup/full /opt/backup/full
3、关闭数据库服务
[root@mysql ~]# service mysqld stop
Shutting down MySQL....... SUCCESS!
4、模拟删除所有数据文件
这里的我的数据文件均存放在/data/mysql_data目录下
[root@mysql ~]# cd /data/mysql_data/
[root@mysql mysql_data]# rm -rf *
[root@mysql mysql_data]# ll
total 0
5、整库还原
apply-log恢复产生的事务日志
[root@mysql mysql_data]# innobackupex --defaults-file=/etc/my.cnf --apply-log /opt/backup/full/
copy-back恢复数据
[root@mysql mysql_data]# innobackupex --defaults-file=/etc/my.cnf --copy-back /opt/backup/full/
同样出现“completed OK!”代表还原成功
6、更改数据目录的所属用户和组
根据数据文件存放的路径进行修改
[root@mysql data]# chown -R mysql:mysql /data/mysql_data/
7、启动MySQL服务
[root@mysql data]# service mysqld start
Starting MySQL.Logging to '/data/mysql_data/error.log'.
.... SUCCESS!
这里自动创建了error.log日志
8、查看测试数据是否恢复
mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from test;
+------+
| a |
+------+
| 1 |
+------+
1 row in set (0.00 sec)