实验环境
前面我们介绍了Xtrabackup 2.4版本的介绍,这个专题说8.0版本
大体上差不多,不过8.0版本移除了innobackupex命令且只能备份8.0版本的MySQL
此次实验的环境如下
我们有如下方法连接数据库
$ xtrabackup --user=DVADER --password=14MY0URF4TH3R --backup --target-dir=/data/bkps/
同样还有其他选项可供选择
操作系统权限指的是运行xtrabackup或innobackupex命令的操作系统账号需要哪些权限
它需要有对备份目录的读写权限以及数据目录(datadir)的读和执行权限
注意:备份后的文件属性为执行命令时的用户的属性
例如原数据库文件属于mysql用户
root用户调用命令则生成的文件的属主属于root用户
同样恢复时属性也不会变化,需要手动更改为mysql属主
由于备份时需要使用账号密码连接到数据库,所以需要有适当权限,这里列出来
也可直接使用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;
xtrabackup会读取my.cnf文件中如下部分内容
如果想覆盖[mysqld]的内容可在xtrabackup中设定相同的选项
如target_dir = /data/backups/mysql/
最后我们也可以在命令行中指定参数,其优先级最高
一般情况下我们不在配置文件中设定,而是直接在命令行中指定
注意:xtrabackup需要用target_dir选项而innobackupex不用
最后如果需要备份到NFS挂载的目录,则需要使用sync选项挂载
本专题所有内容翻译子Percona XtraBackup的官方文档
可通过如下链接下载
http://www.zhaibibei.cn/mysql/xtrabackup8/tutorial1/