02-03-周二_19-57-24
This commit is contained in:
@@ -3391,9 +3391,9 @@ xtrabackup --version
|
|||||||
- 全量备份
|
- 全量备份
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
[root@db01 data]# innobackupex --user=root --password=123 /backup
|
[root@db01 data]# innobackupex --user=root --password=123456 -S /tmp/mysql.sock /backup
|
||||||
#全备
|
#全备
|
||||||
[root@db01 ~]# innobackupex --user=root --password=123 --no-timestamp /backup/full
|
[root@db01 ~]# innobackupex --user=root --password=123456 --no-timestamp -S /tmp/mysql.sock /backup/full
|
||||||
#避免时间戳,自定义路径名
|
#避免时间戳,自定义路径名
|
||||||
[root@db01 backup]# ll /backup/full
|
[root@db01 backup]# ll /backup/full
|
||||||
#查看备份路径中的内容
|
#查看备份路径中的内容
|
||||||
@@ -3409,7 +3409,7 @@ xtrabackup --version
|
|||||||
#备份的redo文件
|
#备份的redo文件
|
||||||
* 准备备份
|
* 准备备份
|
||||||
* 将redo进行重做,已提交的写到数据文件,未提交的使用undo回滚,模拟CSR的过程
|
* 将redo进行重做,已提交的写到数据文件,未提交的使用undo回滚,模拟CSR的过程
|
||||||
[root@db01 full]# innobackupex --user=root --password=123 --apply-log /backup/full
|
[root@db01 full]# innobackupex --user=root --password=123456 --apply-log -S /tmp/mysql.sock /backup/full
|
||||||
```
|
```
|
||||||
|
|
||||||
- 恢复备份
|
- 恢复备份
|
||||||
@@ -3437,7 +3437,7 @@ xtrabackup --version
|
|||||||
- 所有增量必须要按顺序合并到全备当中
|
- 所有增量必须要按顺序合并到全备当中
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
[root@mysql-db01 ~]# innobackupex --user=root --password=123 --no-timestamp /backup/full
|
[root@mysql-db01 ~]# innobackupex --user=root --password=123456 --no-timestamp -S /tmp/mysql.sock /backup/full
|
||||||
#不使用之前的全备,执行一次全备
|
#不使用之前的全备,执行一次全备
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -3455,7 +3455,7 @@ mysql> select * from inc1_tab;
|
|||||||
- 第一次增量备份
|
- 第一次增量备份
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
[root@db01 ~]# innobackupex --user=root --password=123 --no-timestamp --incremental --incremental-basedir=/backup/full/ /backup/inc1
|
[root@db01 ~]# innobackupex --user=root --password=123456 --no-timestamp --incremental -S /tmp/mysql.sock --incremental-basedir=/backup/full/ /backup/inc1
|
||||||
参数说明:
|
参数说明:
|
||||||
--incremental:开启增量备份功能
|
--incremental:开启增量备份功能
|
||||||
--incremental-basedir:上一次备份的路径
|
--incremental-basedir:上一次备份的路径
|
||||||
@@ -3474,7 +3474,7 @@ mysql> commit;
|
|||||||
- 第二次增量备份
|
- 第二次增量备份
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
[root@db01 ~]# innobackupex --user=root --password=123 --no-timestamp --incremental --incremental-basedir=/backup/inc1/ /backup/inc2
|
[root@db01 ~]# innobackupex --user=root --password=123456 --no-timestamp --incremental -S /tmp/mysql.sock --incremental-basedir=/backup/inc1/ /backup/inc2
|
||||||
```
|
```
|
||||||
|
|
||||||
- 增量恢复
|
- 增量恢复
|
||||||
@@ -3510,10 +3510,10 @@ mysql> commit;
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
[root@db01 mysql]# innobackupex --apply-log /backup/full/
|
[root@db01 mysql]# innobackupex --apply-log /backup/full/
|
||||||
copy-back
|
[root@db01 mysql]# systemctl stop mysqld
|
||||||
[root@db01 ~]# innobackupex --copy-back /backup/full/
|
[root@db01 mysql]# innobackupex --copy-back /backup/full/
|
||||||
[root@db01 ~]# chown -R mysql.mysql /application/mysql/data/
|
[root@db01 mysql]# chown -R mysql.mysql /application/mysql/data/
|
||||||
[root@db01 ~]# /etc/init.d/mysqld start
|
[root@db01 mysql]# systemctl start mysqld
|
||||||
```
|
```
|
||||||
|
|
||||||
# 16. MySQL的主从复制
|
# 16. MySQL的主从复制
|
||||||
@@ -3590,6 +3590,7 @@ log_bin=mysql-bin
|
|||||||
[root@db01 ~]# mysql -uroot -p123456
|
[root@db01 ~]# mysql -uroot -p123456
|
||||||
#登录数据库
|
#登录数据库
|
||||||
mysql> grant replication slave on *.* to slave@'192.168.88.%' identified by '123456';
|
mysql> grant replication slave on *.* to slave@'192.168.88.%' identified by '123456';
|
||||||
|
mysql> flush privileges;
|
||||||
#创建slave用户
|
#创建slave用户
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -3686,10 +3687,13 @@ slave-skip-errors=1032,1062,1007
|
|||||||
### 16.3.3 处理方法三
|
### 16.3.3 处理方法三
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
set global read_only=1;
|
-- 临时开启(从库)
|
||||||
#在命令行临时设置,在从库设置
|
SET GLOBAL read_only=1;
|
||||||
|
SET GLOBAL super_read_only=1; -- MySQL5.7+,禁止super权限用户写(包括root)
|
||||||
|
-- 永久开启(修改从库my.cnf,重启生效)
|
||||||
|
[mysqld]
|
||||||
read_only=1
|
read_only=1
|
||||||
#在配置文件中永久生效[mysqld]
|
super_read_only=1 -- 关键:彻底禁止所有用户写从库
|
||||||
```
|
```
|
||||||
|
|
||||||
## 16.4 延时从库
|
## 16.4 延时从库
|
||||||
@@ -3891,7 +3895,16 @@ mysql> show global status like 'rpl_semi%';
|
|||||||
注:不难发现,在查询半同步状态是,开启半同步,查询会有延迟时间,关闭之后则没有
|
注:不难发现,在查询半同步状态是,开启半同步,查询会有延迟时间,关闭之后则没有
|
||||||
```
|
```
|
||||||
|
|
||||||

|
- 某公司程序员不小心删除了核心业务数据,已知公司没有全量备份,但是有延时从库(1个小时)。现在要求恢复数据库
|
||||||
|
思路:
|
||||||
|
1. 停止业务数据库
|
||||||
|
2. 停止延时从库的slave
|
||||||
|
3. 检查业务数据库bin_log,找到slave上最新的pos和删除前的pos
|
||||||
|
4. 导入从库,检查数据是否完整
|
||||||
|
5. 恢复业务数据
|
||||||
|
- 模拟故障:配置延时从库,然后主库随便增删改,然后删除表,尝试恢复
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 16.6 过滤复制
|
## 16.6 过滤复制
|
||||||
|
|
||||||
@@ -3915,7 +3928,7 @@ mysql> show global status like 'rpl_semi%';
|
|||||||
[root@db01 data]# vim /data/3307/my.cnf
|
[root@db01 data]# vim /data/3307/my.cnf
|
||||||
replicate-do-db=world
|
replicate-do-db=world
|
||||||
#在[mysqld]标签下添加
|
#在[mysqld]标签下添加
|
||||||
mysqladmin -S /data/3307/mysql.sock shutdown
|
mysqladmin -S /data/3307/mysql.sock -p123456 shutdown
|
||||||
#关闭MySQL
|
#关闭MySQL
|
||||||
mysqld_safe --defaults-file=/data/3307/my.cnf &
|
mysqld_safe --defaults-file=/data/3307/my.cnf &
|
||||||
#启动MySQL
|
#启动MySQL
|
||||||
|
|||||||
Reference in New Issue
Block a user