实验环境

此次实验的环境如下

  • 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的官方文档

可通过如下链接下载

http://www.zhaibibei.cn/mysql/xtrabackup/tutorial1/

上一章

下一章