首页 > 数据库 >【MySQL 8.0】物理备份与恢复验证

【MySQL 8.0】物理备份与恢复验证

时间:2023-08-25 13:01:19浏览次数:38  
标签:8.0 node01 -- 备份 MySQL xtrabackup mysql backup localhost

[root@node01 ~]# wget https://repo.percona.com/yum/percona-release-latest.noarch.rpm
[root@node01 ~]# rpm -ivh percona-release-latest.noarch.rpm 
[root@node01 ~]# yum install -y percona-xtrabackup-80

用户与权限
(root@node01) > create user xtrabackup@'localhost' identified with mysql_native_password by 'xtrabackup';  
Query OK, 0 rows affected (0.01 sec)

(root@node01) > grant backup_admin,reload,process,lock tables,replication client on *.* to xtrabackup@'localhost'; 
Query OK, 0 rows affected (0.04 sec)

(root@node01) > grant select on performance_schema.log_status to xtrabackup@'localhost';
Query OK, 0 rows affected (0.04 sec)

(root@node01) > grant select on performance_schema.keyring_component_status to xtrabackup@'localhost';
Query OK, 0 rows affected (0.05 sec)

(root@node01) > grant select on performance_schema.replication_group_members to xtrabackup@'localhost';
Query OK, 0 rows affected (0.01 sec)

(root@node01) > grant select on mysql.component to xtrabackup@'localhost';
Query OK, 0 rows affected (0.01 sec)

(root@node01) > flush privileges;
Query OK, 0 rows affected (0.01 sec)

(root@node01) > show grants for 'xtrabackup'@'localhost';
+----------------------------------------------------------------------------------------------+
| Grants for xtrabackup@localhost                                                              |
+----------------------------------------------------------------------------------------------+
| GRANT RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT ON *.* TO `xtrabackup`@`localhost`    |
| GRANT BACKUP_ADMIN ON *.* TO `xtrabackup`@`localhost`                                        |
| GRANT SELECT ON `mysql`.`component` TO `xtrabackup`@`localhost`                              |
| GRANT SELECT ON `performance_schema`.`keyring_component_status` TO `xtrabackup`@`localhost`  |
| GRANT SELECT ON `performance_schema`.`log_status` TO `xtrabackup`@`localhost`                |
| GRANT SELECT ON `performance_schema`.`replication_group_members` TO `xtrabackup`@`localhost` |
+----------------------------------------------------------------------------------------------+
6 rows in set (0.00 sec)

[mysql@node01 ~]$ ssh-keygen
[mysql@node01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub mysql@node02
[mysql@node01 ~]$ ssh node02 date
Sun Apr  9 15:12:54 CST 2023

[mysql@node01 ~]$ xtrabackup --user=xtrabackup --password=xtrabackup --backup --target-dir=/home/mysql/backup/full  
[mysql@node01 ~]$ scp -r backup/full/* node02:/home/mysql/backup/full
[mysql@node02 ~]$ xtrabackup --prepare --target-dir=/home/mysql/backup/full
[mysql@node02 ~]$ xtrabackup --copy-back --target-dir=/home/mysql/backup/full

[mysql@node02 ~]$ /etc/init.d/mysql.server start
[mysql@node02 ~]$ /etc/init.d/mysql.server status

[mysql@node02 ~]$ cat backup/xtrabackup_binlog_info
mysql-bin.000016        95923365

[mysql@node02 ~]$ cd binlog
[mysql@node02 binlog]$ mysqlbinlog --start-position=95923365 mysql-bin.000016 mysql-bin.000017 | mysql -uroot -pabcd.1234 
[mysql@node01 ~]$ cat full_backup.sh 
#!/bin/bash
user='root'
passwd='abcd.1234'
backup_dir='/home/mysql/backup'
/bin/xtrabackup --backup --user=$user --password=$passwd --target-dir=$backup_dir/`date '+%Y-%m-%d_%H-%M-%S'`
last_day=$(date -d "7 days ago" +%Y-%m-%d)
filename=$(find $backup_dir -name "$last_day*" -print|awk -F / '{print $NF}')
if [ ! -n "$filename" ]; then
  echo "null"
else
rm -rf $backup_dir/$filename
fi

[mysql@node01 ~]$ chmod a+x full_backup.sh 

[mysql@node01 ~]$ crontab -l
0 2 * * * /home/mysql/full_backup.sh > /home/mysql/backup/full_backup.log 2>&1

标签:8.0,node01,--,备份,MySQL,xtrabackup,mysql,backup,localhost
From: https://blog.51cto.com/dbprofessional/7229325

相关文章

  • 【MySQL 8.0】增量备份与恢复验证
    [mysql@node01~]$xtrabackup--user=xtrabackup--password=xtrabackup--backup--target-dir=/home/mysql/backup/base[mysql@node01~]$./tpcc-mysql/tpcc_start-h192.168.1.101-P3306-dtpcc10-utpcc-ptpcc-w10-c10-l120[mysql@node01~]$xtrabac......
  • 主从升级(mysql5.7.39-mysql8.0.25)
    环境:OS:Centos7当前数据库版本:5.7.39(主从目前启用了审计server_audit.so,master_auto_position=1)计划升级的数据库版本:8.0.28升级顺序:先升级从库########################从库机器上的操作######################1.从库机器上安装好新版本的mysql注意端口和socket不能与......
  • centos定时备份mysql数据库 用shell脚本实现
    数据很重要,上线的项目必须数据库做到定时备份数据量小的可用如下方法,下面的是全量备份,数据量大的肯定行不通的,这时可用mysql主从复制了注意事项:1、shell脚本的mysqldump命令必须使用绝对路径,首先用find/-name'mysqldump'找到真实绝对路径,否则备份出来文件0kb 2、在终端用......
  • sql server和mysql常用字段类型对比
    都有的数据类型BIGINTCHARDATETIMEDECIMALFLOATINT,INTEGERSMALLINTTEXTTIMESTAMPTINYINTVARCHAR需要做修改的数据类型关键代码修改:......
  • 【MySQL 8.0】在 CentOS 7.5 安装 MySQL 8.0
    [root@node01~]#cat>>/etc/hosts<<EOF192.168.1.101node01EOF[root@node01~]#useraddmysql[root@node01~]#echomysql|passwd--stdinmysqlChangingpasswordforusermysql.passwd:allauthenticationtokensupdatedsuccessfully.......
  • CentOS7.9搭建开发环境(Java、MySQL、Nginx、Redis)
    系统使用的阿里云CentOS7.964位SCC版。先安装个文件上传下载工具lrzsz,xshell登录终端,运行下面的命令:yuminstall-ylszrz 这是因为yum源的问题,需要修改yum配置。执行以下命令:cd/etc/yum.repos.dmvCentOS-Base.repoCentOS-Base.repo.backupwgethttp://mirrors.......
  • 手把手教你Linux CentOS 8 安装MySQL 8
     安装步骤我所使用的Linux版本是CentOS8,在CentOS8上安装MySQL的步骤:启用MySQL8.0存储库首先,您需要启用MySQL8.0存储库。为此,请下载和安装MySQL的存储库包:sudodnfinstallhttps://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm安装MyS......
  • mysql索引的详解和慢查询优化
    什么是索引?索引是一种特殊的数据结构,由数据表中的一列或多列组合而成 建立索引的目的是什么?索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才......
  • destoon8.0自媒体类型综合资讯门户模板
     随着时代发展,自媒体资讯适合当前的互联网情形。呕心沥血开发的一套自媒体综合门户网站模板,本模板采用纯手写开发,带会员中心。首页,列表页,内容页,搜索页面精心编写,非常大气,并配移动端。注意:模板目前只用了资讯模块,会员模块,其他模块都禁用了。特色:1、非常适合做资讯门户站。2、首页,......
  • ubuntu18.04安装g2o
    先对g2o的依赖库进行安装:sudoapt-getupdatesudoapt-getinstalllibeigen3-devsudoapt-getinstalllibsuitesparse-devsudoapt-getinstallqtdeclarative5-devsudoapt-getinstallqt5-qmakesudoapt-getinstalllibqglviewer-dev-qt5然后下载g2o(2020那个版本)......