网络知识 娱乐 MySQL xtrabackup 安装备份简单demo

MySQL xtrabackup 安装备份简单demo

#本文只是一个通过xtrabackup备份数据库的一个简单实现,参数也最简化,为需要的小同学开个头,感兴趣的自己去研究更深的细节

#环境 CentOS 7 Mysql 8

#以下在mysql宿主机上root用户或者sudo shell命令行执行

#安装percona软件源

yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

#启用相关工具包

percona-release enable-only tools

#安装xtrabackup mysql 8对应版本

yum -y install percona-xtrabackup-80

#添加dba用户

adduser mysqldba

#用户赋予msyql组权限

usermod -g mysql mysqldba

#查看用户mysqldba

id mysqldba

#更改用户密码

passwd mysqldba

#创建备份文件目录

mkdir -p /data/bkps/

#备份目录归属mysqldba用户

chown -R mysqldba.mysql /data/bkps/

#打开用户超级权限描述文件

vim /etc/sudoers

#文件末尾添加一下内容

mysqldba master-01=(root) NOPASSWD:/usr/bin/chown -R mysql.mysql /var/lib/mysql/*, NOPASSWD:/bin/xtrabackup, NOPASSWD:/usr/bin/rm -r /var/lib/mysql/*, NOPASSWD:/usr/bin/systemctl stop mysqld, NOPASSWD:/usr/bin/systemctl start mysqld, NOPASSWD:/usr/bin/systemctl status mysqld

#打开mysql配置文件my.cnf

vi /etc/my.cnf

#最后添加以下配置,指定备份导出默认目录

[xtrabackup]

target_dir = /data/bkps/

#连接mysql

mysql -uroot -p'password' -P3389

#选择mysql数据库

use mysql;

#创建mysql备份用户

CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 'MyNewPass4!';

GRANT BACKUP_ADMIN, PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost';

GRANT SELECT ON *.* TO 'bkpuser'@'localhost';

FLUSH PRIVILEGES;

SHOW GRANTS FOR 'bkpuser'@'localhost';

#全库备份

xtrabackup --login-path=bkpuser --backup --user=root --password=password --port=3389

MySQL xtrabackup 安装备份简单demo


MySQL xtrabackup 安装备份简单demo