妙用mariabackup快速备份与还原Mariadb数据库

简介
Mariabackup是MariaDB提供的一个开源工具,用于对InnoDB,Aria和MyISAM表进行物理在线备份。这个工具是基于Percona的XtraBackup(版本2.3.8)的解决方案。
这里有一点需要注意,在MariaDB10.3.x及以上的版本建议用mariabackup,用Percona XtraBackup工具会有问题。
语法格式:
mariabackup [–defaults-file=#] [–backup | --prepare | --copy-back | --move-back] [OPTIONS]
1.完全备份与恢复
1.1备份
假设mariadb数据库用户名为root,密码为centos
执行如下命令:
mariabackup --backup --target-dir /data/mariadbbackup/$(date ‘+%y-%m-%d’)_fullbackup --user root --password centos
注:备份到目录/data/mariadbbackup/$(date ‘+%y-%m-%d’)_fullbackup 这里的$(date ‘+%y-%m-%d’)_fullbackup目录会自动创建。
1.2恢复
第一步:准备全备数据
#cd /data/mariadbbackup
#mariabackup --prepare --target-dir /data/mariadbbackup/20-11-11_fullbackup --user root --password centos

第二步:还原数据 (保证要还原的数据库服务器的data目录为空)

#mariabackup --copy-back --target-dir /data/mariadbbackup/20-11-11_fullbackup --user root --password centos
第三步:修改data目录权限
因为备份的用户是root,还原过去的时候属主没有变化,所以要把还原过去的数据的属主和属组修改一下。
#chown -R mysql:mysql /data/mysqldb/3306/data
2.增量备份与还原
2.1备份
2.1.1完全备份
#mariabackup --backup --target-dir /data/mariadbbackup/fullbackup --user root --password centos
2.1.2 增量备份
#mariabackup --backup --target-dir /data/mariadbbackup/inc1 --incremental-basedir /data/mariadbbackup/fullbackup --user root --password centos
这里的 /data/mariadbbackup/fullbackup表示基于全备做的增量备份
2.2恢复
现在我们有2个备份,一个是全备一个是增量备份,具体步骤如下
第一步:准备全备数据
#mariabackup --prepare --target-dir /data/mariadbbackup/fullbackup/ --user root --password centos --apply-log-only
第二步:将增量备份与全备合并
#mariabackup --prepare --target-dir /data/mariadbbackup/fullbackup/ --user root --password centos --incremental-dir /data/mariadbbackup/inc1 --apply-log-only
注:若有多个增量备份,则依次将增量备份与全备合并。
第三步:还原(保证data目录为空)
#mariabackup --copy-back --target-dir /data/mariadbbackup/fullbackup/ --user root --password centos
第四步:修改属主属组
#chown -R mysql:mysql /data/mysqldb/3306/data

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Clojure与MariaDB是兼容的,您可以使用Clojure的JDBC库来连接和操作MariaDB数据库。 以下是一些基本的步骤来使用Clojure的JDBC库连接和操作MariaDB数据库: 1. 首先,您需要在项目的依赖中添加`org.mariadb.jdbc/mariadb-java-client`库。例如,使用Leiningen构建的项目,可以在`project.clj`文件中添加以下依赖: ``` [org.mariadb.jdbc/mariadb-java-client "2.7.3"] ``` 2. 在Clojure中,使用JDBC库连接MariaDB数据库需要通过`clojure.java.jdbc`命名空间中的函数来实现。首先,您需要定义一个数据库连接的配置,如下所示: ``` (def db-config {:dbtype "mariadb" :dbname "your_database_name" :user "your_username" :password "your_password" :host "localhost" :port 3306}) ``` 将`your_database_name`、`your_username`和`your_password`替换为您的MariaDB数据库的信息。 3. 接下来,您可以使用`clojure.java.jdbc`库中的函数来连接数据库并执行SQL查询。例如,以下代码查询一个名为`users`的表中的所有数据: ``` (require '[clojure.java.jdbc :as jdbc]) (defn get-all-users [] (jdbc/query db-config ["SELECT * FROM users"])) ``` 您可以根据需要更改SQL查询语句。 4. 您也可以使用`clojure.java.jdbc`库中的函数执行插入、更新和删除等操作。例如,以下代码将一个新用户插入到`users`表中: ``` (defn add-user [name email password] (jdbc/insert! db-config :users {:name name :email email :password password})) ``` 将`name`、`email`和`password`替换为您要插入的新用户的信息。 希望这些信息可以帮助您使用Clojure操作MariaDB数据库

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值