实验环境
此次实验的环境如下
- MySQL 5.7.25
- Redhat 6.10
1. Percona XtraBackup连接数据库
我们有如下方法连接数据库
$ xtrabackup --user=DVADER --password=14MY0URF4TH3R --backup --target-dir=/data/bkps/
$ innobackupex --user=DBUSER --password=SECRET /path/to/backup/dir/
$ innobackupex --user=LUKE --password=US3TH3F0RC3 --stream=tar ./ | bzip2 -
同样还有其他选项可供选择
- -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 RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* 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的官方文档
可通过如下链接下载
4. XtraBackup工具详解 Part 4 XtraBackup权限及配置www.zhaibibei.cn![a071b07f61db0efdc0627b4aea02038b.png](https://i-blog.csdnimg.cn/blog_migrate/4550f14436e32344eccfe5be1dc269cc.jpeg)