percona-xtrabackup2.3物理备份和还原
一、xtrabackup介绍
xtrabackup是运行在linux操作系统上的mysql物理备份工具,使用c语言开发。
xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 ,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。
二、使用介绍
1.物理备份(全量)
innobackupex --defaults-file=/etc/my.cnf --host=127.0.0.1 --user=root --password=数据库密码 /data/mysql_data_backup
参数说明:
--defaults-file=/etc/my.cnf 指定数据库的配置文件
--host=127.0.0.1 备份数据库的host的ip地址,视授予数据库的权限host
--user 备份数据库的用户
--password 备份数据库的用户密码
/data/mysql_data_backup 为数据库备份的目录
2.数据恢复
1、停止数据库
/etc/init.d/mysqld stop
2、删除数据数据目录下所有内容
rm -rf /data/mysql/*
3、解压物理备份数据到数据库数据目录
tar -zcvf mysqldb20201117.tar.gz -C /data/mysql
4、恢复数据
innobackupex --defaults-file=backup-my.cnf --apply-log /data/mysql
5、修改数据目录权限
chown -R mysql:mysql /data/mysql
6、启动数据库
/etc/init.d/mysqld start
7、跳过密码登录,设置新密码
修改/etc/my.cof在mysqld中添加如下配置并重启mysql
skip-grant-tables=1
8、mysql登录数据库修改密码
update user set password=PASSWORD("你要设置的密码") where user='root';
flush privileges;
8、验证
mysql -h 127.0.0.1 -uroot -p新密码