MariaDB/mysql定时全量增量备份脚本

环境

1.系统:Centos7
2.数据库:MariaDB。

前言

MariaDB是Mysql的分支,所以对数据库的备份操作直接借鉴mysql的备份就好。唯一有些不同的可能是配置的文件位置不一样,以及开启Binlog的方式及文档小有不同。核心命令mysqldump以及binlog命令,mysqladmin命令使用起来都是一样的。
代码主要是转载zhao_xiaosong博主的文章链接:MySQL数据库全量备份与增量备份
原链接有部分代码出问题报错,修改完善同时添加了更详细的注释便于理解。

生成目录及日志

在/home下面创建存放的数据及运行日志
创建全量备份目录与日志
[root@localhost home]# mkdir -p /home/mysql-back
[root@localhost home]# touch /home/mysql-backlog.log

增量目录与日志
[root@localhost home]# mkdir -p /home/mysql_binback
[root@localhost home]# touch /home/mysql-binbacklog.log
**在/home目录下的各文件目录介绍**
[root@localhost home]# ll
总用量 9020
drwxr-xr-x. 2 root root    4096 7月   8 09:17 mysql-back          **存放全量备份的压缩文件地址**
-rw-r--r--. 1 root root     484 7月   6 15:58 mysql-backlog.log    **全量备份日志**
drwxr-xr-x. 2 root root    4096 7月  10 10:41 mysql_binback       **存放增量备份的压缩文件**
-rw-r--r--. 1 root root    3882 7月  10 01:00 mysql-binbacklog.log    **增量备份日志**
-rwxr-xr-x. 1 root root    1736 7月   7 17:41 save-all-data.sh      **全量备份脚本**     
-rwxr-xr-x. 1 root root    2214 7月   8 13:54 save-today.sh       **增量备份脚本**

[root@localhost home]# tree
.
├── mysql-back                   **存放全量备份的压缩文件地址**
│   ├── LOGLEO.000001_20200708_09:13:55.tar.gz
│   ├── LOGLEO.000002_20200708_09:13:55.tar.gz
│   ├── LOGLEO.000003_20200708_09:13:55.tar.gz
│   ├── LOGLEO.000004_20200708_09:13:55.tar.gz
│   ├── LOGLEO.000005_20200708_09:13:55.tar.gz
│   ├── LOGLEO.000006_20200708_09:13:55.tar.gz
│   ├── LOGLEO.000007_20200708_09:13:55.tar.gz
│   ├── LOGLEO.000008_20200708_09:13:55.tar.gz
│   ├── LOGLEO.000009_20200708_09:13:55.tar.gz
│   ├── LOGLEO.000010_20200708_09:13:55.tar.gz
│   ├── LOGLEO.000011_20200708_09:13:55.tar.gz
│   ├── LOGLEO.000012_20200708_09:13:55.tar.gz
│   ├── LOGLEO.000013_20200708_09:15:42.tar.gz
│   ├── LOGLEO.000014_20200708_09:16:27.tar.gz
│   └── LOGLEO.000015_20200708_09:17:27.tar.gz
├── mysql-backlog.log            **全量备份日志**
├── mysql_binback				**存放增量备份的压缩文件**
│   ├── LOGLEO.000001_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000002_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000003_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000004_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000005_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000006_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000007_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000008_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000009_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000010_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000011_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000012_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000013_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000014_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000015_20200708_09:41:21.tar.gz
│   ├── LOGLEO.000016                   **用解压命令后解压的文件**
│   ├── LOGLEO.000017_20200708_09:44:58.tar.gz
│   ├── LOGLEO.000018
│   ├── LOGLEO.000018_20200708_11:03:15.tar.gz
│   ├── LOGLEO.000019
│   ├── LOGLEO.000019_20200708_11:07:31.tar.gz
│   ├── LOGLEO.000020
│   ├── LOGLEO.000020_20200708_11:08:15.tar.gz
│   ├── LOGLEO.000021
│   ├── LOGLEO.000021_20200708_13:54:59.tar.gz
│   ├── LOGLEO.000022
│   ├── LOGLEO.000022_20200709_01:00:01.tar.gz
│   ├── LOGLEO.000023
│   └── LOGLEO.000023_20200710_01:00:01.tar.gz
├── mysql-binbacklog.log       **增量备份日志**
├── save-all-data.sh           **全量备份脚本**
└── save-today.sh              **增量备份脚本**

2 directories, 54 files


全量备份

编辑全量备份脚本
[root@localhost home]# vim /home/save-all-data.sh 
#!/bin/bash
# 全备方式,一般在从机上执行,适用于小中型mysql数据库:
source /etc/profile # 加载系统环境变量
source ~/.bash_profile # 加载用户环境变量
# 定义全局变量
#登录数据库用户名
user="root"
#访问数据库密码
password="password"
#访问地址
host="localhost"
#访问数据库端口
port="3306"
#备份数据库名称,多个数据库用空格进行间隔
db=("newLEO" "test")
local="--single-transaction"
#数据库位置
mysql_path="/www/server/mysql"
#备份地址
backup_path="/home/mysql-back"
date=$(date +%Y%m%d_%H:%M:%S)
day=30
#日志路径
backup_log="/home/mysql-backlog.log"
# 判断是否存在目录,不存在则创建目录
if 
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当需要修改Mariadb/MySQL的root密码时,可以通过以下步骤进行操作: 1. 打开终端,以root用户登录到Linux系统。 2. 停止Mariadb/MySQL服务。在终端中输入以下命令: ``` service mariadb stop ``` 或 ``` service mysql stop ``` 3. 启动Mariadb/MySQL服务,并跳过授权检查。在终端中输入以下命令: ``` mysqld_safe --skip-grant-tables & ``` 4. 进入MariaDB/MySQL数据库。在终端中输入以下命令: ``` mysql -u root ``` 5. 切换到mysql数据库。在数据库提示符中输入以下命令: ``` use mysql; ``` 6. 更新root用户的密码。在数据库提示符中输入以下命令: ``` update user set password=PASSWORD('新密码') where User='root'; ``` (请将'新密码'替换为您希望设置的新密码) 7. 刷新权限表以使更改生效。在数据库提示符中输入以下命令: ``` flush privileges; ``` 8. 退出MariaDB/MySQL数据库。在数据库提示符中输入以下命令: ``` exit; ``` 9. 停止Mariadb/MySQL服务。在终端中输入以下命令: ``` service mariadb stop ``` 或 ``` service mysql stop ``` 10. 启动Mariadb/MySQL服务。在终端中输入以下命令: ``` service mariadb start ``` 或 ``` service mysql start ``` 11. 使用新密码登录Mariadb/MySQL。在终端中输入以下命令: ``` mysql -u root -p ``` (在提示符中输入新密码) 这样,您应该能够成功修改Mariadb/MySQL的root密码。如果在进行上述步骤时遇到错误1064,请确保输入的命令语法正确,每个命令以分号结尾。此外,还可以检查是否在操作时具有足够的权限来修改密码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值