-
2. 使用XtraBackup备份MySQL 8.0 Part 2 XtraBackup权限及配置
tutorial2
-
-
Attachments
-
Changes
-
View Source
-
View
## 实验环境
前面我们介绍了Xtrabackup 2.4版本的介绍,这个专题说8.0版本
大体上差不多,不过8.0版本移除了innobackupex命令且只能备份8.0版本的MySQL
关于xtrabackup 2.4详情请看如下链接
[XtraBackup工具详解](http://www.zhaibibei.cn/mysql/xtrabackup/)
此次实验的环境如下
- MySQL 8.0.19
- Redhat 7.4
## 1. Percona XtraBackup连接数据库
我们有如下方法连接数据库
```
$ xtrabackup --user=DVADER --password=14MY0URF4TH3R --backup --target-dir=/data/bkps/
```
同样还有其他选项可供选择
- -port
- -socket
- -host
## 2. Percona XtraBackup权限
### 2.1 操作系统权限
操作系统权限指的是运行xtrabackup或innobackupex命令的操作系统账号需要哪些权限
它需要有对备份目录的读写权限以及数据目录(datadir)的读和执行权限
注意:备份后的文件属性为执行命令时的用户的属性
例如原数据库文件属于mysql用户
root用户调用命令则生成的文件的属主属于root用户
同样恢复时属性也不会变化,需要手动更改为mysql属主
### 2.2 数据库权限
由于备份时需要使用账号密码连接到数据库,所以需要有适当权限,这里列出来
也可直接使用root账号连接(不推荐)
```
mysql> CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 's3cret';
mysql> GRANT BACKUP_ADMIN, PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost';
GRANT SELECT ON performance_schema.log_status TO 'bkpuser'@'localhost';
mysql> FLUSH PRIVILEGES;
```
## 3. Percona XtraBackup 配置
xtrabackup会读取my.cnf文件中如下部分内容
- [mysqld]
- [xtrabackup]
如果想覆盖[mysqld]的内容可在xtrabackup中设定相同的选项
如target_dir = /data/backups/mysql/
最后我们也可以在命令行中指定参数,其优先级最高
一般情况下我们不在配置文件中设定,而是直接在命令行中指定
注意:xtrabackup需要用target_dir选项而innobackupex不用
最后如果需要备份到NFS挂载的目录,则需要使用sync选项挂载
## 4. 参考资料
本专题所有内容翻译子Percona XtraBackup的官方文档
可通过如下链接下载
[http://www.zhaibibei.cn/mysql/xtrabackup8/tutorial1/](http://www.zhaibibei.cn/mysql/xtrabackup8/tutorial1/)
[上一章](http://www.zhaibibei.cn/mysql/xtrabackup8/tutorial1/)
[下一章](http://www.zhaibibei.cn/mysql/xtrabackup8/tutorial3/)