• mariadbackup物理备份使用——筑梦之路


    注意事项:

    1. 在MariaDB 10.3及更高版本中,建议使用Mariabackup替代 Percona XtraBackup的备份方法。在MariaDB 10.3及更高版本中,不支持 Percona XtraBackup,且mariabackup工具已默认安装。

    2. 数据库的默认存储引擎必须是InnoDB。

    3. 需要恢复的目标数据库数据目录必须为空,目标数据库服务恢复前处于关闭状态。

    4. 需要恢复的目标数据库INNODB的配置文件与备份文件里的backup-my.cnf里必须一致。

    5. 数据目录所属用户和所属组必须是mysql。

    1. 1. 创建备份的用户并给予合理的权限
    2. -- 创建备份需要的用户并授权
    3. CREATE USER mariabackup@'localhost' IDENTIFIED BY 'admin123';
    4. GRANT RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'mariabackup'@'localhost';
    5. FLUSH PRIVILEGES;
    6. 2.创建存储备份的目录并进行全量备份
    7. 注意:物理备份需要保证磁盘空间足够,物理备份拷贝1:1
    8. #创建备份存储位置
    9. mkdir -p /backup/base
    10. #备份
    11. mariabackup -umariabackup -pTrs@admin123 --backup --target-dir=/backup/base
    12. #验证下备份出来的数据 【预恢复】
    13. mariabackup --prepare --target-dir=/backup/base
    14. 3.全量恢复
    15. #停止数据库
    16. systemctl stop mariadb
    17. #清空数据目录
    18. rm -rf /var/lib/mysql/*
    19. #准备备份 预恢复 检查是否有错误
    20. mariabackup --prepare --target-dir=/backup/base
    21. #复制到数据目录,数据目录必须为空,保留目录
    22. mariabackup --copy-back --target-dir=/backup/base
    23. #移动到数据目录,数据目录必须为空,不保留目录
    24. mariabackup --move-back --target-dir=/backup/base
    25. #修改权限
    26. chown -R mysql:mysql /var/lib/mysql
    27. #启动数据库服务
    28. systemctl start mariadb
    29. 4.增量备份
    30. #第一次增量备份
    31. mariabackup -umariabackup -pmypassword --backup --target-dir=/backup/inc1 --incremental-basedir=/backup/base
    32. #查看目录
    33. ll /backup/
    34. total 8
    35. drwx------ 6 root root 4096 Feb 28 09:29 base
    36. drwx------ 6 root root 4096 Feb 28 09:31 inc1
    37. #第二次增量备份
    38. mariabackup -umariabackup -pmypassword --backup --target-dir=/backup/inc2 --incremental-basedir=/backup/inc1
    39. #查看目录
    40. ll /backup/
    41. total 12
    42. drwx------ 6 root root 4096 Feb 28 12:52 base
    43. drwx------ 6 root root 4096 Feb 28 12:59 inc1
    44. drwx------ 6 root root 4096 Feb 28 13:03 inc2
    45. #查看数据大小
    46. du -sh /backup/*
    47. 16M /backup/base
    48. 3.0M /backup/inc1
    49. 3.0M /backup/inc2
    50. 5.增量备份后的恢复
    51. #准备现有备份
    52. mariabackup --prepare --target-dir=/backup/base
    53. #合并第一次增量备份到完全备份
    54. mariabackup --prepare --target-dir=/backup/base --incremental-dir=/backup/inc1
    55. #合并第二次增量备份到完全备份
    56. mariabackup --prepare --target-dir=/backup/base --incremental-dir=/backup/inc2
    57. #然后再执行步骤3全量恢复
    58. 6.做主从备份
    59. #查看binlog位点
    60. cat /backup/base/xtrabackup_info
    61. 这里主要查看binlog文件名 位置
    62. #配置mysql主从两步:
    63. 1)将数据目录传输到从库上,恢复数据,启动数据库后,登陆数据库,change master to 的sql语句中使用从上面获取的文件名和位置,需要在主库创建好用户并授权
    64. sql命令示例:
    65. 主库上操作:grant replication slave on *.* to 'bakuser'@'192.168.100.100' identified by 'admin123'; flush privileges;
    66. 从库上操作:change master to master_host='192.168.100.101', master_user='bakuser', master_password='admin123', master_log_file='mysql-bin.002695', master_log_pos=577098276; start slave;
    67. 2)从库上检查验证:show slave status\G;

    mariadb 10.3以下的版本没有自带备份工具,需要安装:

    yum install MariaDB-backup
  • 相关阅读:
    机器学习——第五章 神经网络
    java使用elasticsearchClient调用es7.17
    苹果cms模板MXone V10.6魔改版短视大气海报样式
    查询中字段用法
    Web3中文|元宇宙购物的兴起
    H3C交换机环路保护
    计算机毕业设计SSM大学生志愿者管理系统【附源码数据库】
    关联接口的处理
    【Python】数据分析案例:世界杯数据可视化 | 文末送书
    网络部署思路、路由器以及静态路由协议
  • 原文地址:https://blog.csdn.net/qq_34777982/article/details/126040342