Mysql中xtrabackup備份的實現(xiàn)
更新時間:2023年12月12日 09:22:28 作者:一個小宏混
Xtrabackup是Percona團隊開發(fā)的用于MySQL數據庫物理熱備份的開源備份工具,本文就來介紹一下Mysql中xtrabackup備份的實現(xiàn),就有一定的參考價值,感興趣的可以了解一下
1.準備環(huán)境
安裝數據庫
[root@localhost ~]# yum-y install mysql mysql-server [root@localhost ~]# systemctl start mysqld [root@localhost ~]# grep pass /var/log/mysql.log [root@localhost ~]# mysqladmin -uroot -p'old-passwd' password "new-passwd"
email配置
[root@localhost ~]# yum -y install mailx [root@localhost ~]# vi /etc/mail.rc #將下面信息填入到文件中 set from=********@qq.com set smtp=smtp.qq.com set smtp-auth-user=**********@qq.com set smtp-auth-password=************ #第三方登錄碼 set smtp-auth=login
2.腳本解析
#!/bin/bash #校驗時間 ntpdate ntp.aliyun.com >> /dev/null #檢查是否創(chuàng)建目錄 find /xtrabackup/ -name '*' >> /dev/null if [[ $? -ne 0 ]];then mkdir /xtrabackup/ fi find /xtrabackup/log/ -name '*' >> /dev/null if [[ $? -ne 0 ]];then mkdir -p /xtrabackup/log fi #定義變量 User=root Password=QianFeng@123 Email_num=2756375538@qq.com #完全備份 backup_full(){ innobackupex --user=$User --password=$Password /xtrabackup/ >> /xtrabackup/log/backup.log 2>&1 } #增量備份 backup_incremental(){ #獲取前一天時間 before=$(date -d "yesterday" +%Y-%m-%d_%H) Before_path=`find /xtrabackup/ -name "${before}*"` innobackupex --user=$User --password=$Password --incremental /xtrabackup/ --incremental-basedir=$Before_path >> /xtrabackup/log/backup.log 2>&1 } #差異備份 backup_differential(){ date_times=$(date +%u) if [[ $date_times -eq 4 ]];then before_3_days=$(date -d "3 days ago" +%Y-%m-%d_%H) Full_path=`find /xtrabackup/ -name "${before_3_days}*"` innobackupex --user=$User --password=$Password --incremental /xtrabackup --incremental-basedir=$Full_path >> /xtrabackup/log/backup.log 2>&1 else before_6_days=$(date -d "6 days ago" +%Y-%m-%d_%H) Full_path=`find /xtrabackup/ -name "${before_3_days}*"` innobackupex --user=$User --password=$Password --incremental /xtrabackup --incremental-basedir=$Full_path >> /xtrabackup/log/backup.log 2>&1 fi } #定義郵件 email_worker(){ echo "數據備份失敗" | mail -s "數據庫備份失敗" $Email_num } #主函數 date_time=$(date +%u) case $date_time in 1) backup_full ;; 2|3|5|6) backup_incremental ;; 4|7) backup_differential ;; esac if [[ $? -ne 0 ]];then email_worker fi
到此這篇關于Mysql中xtrabackup備份的實現(xiàn)的文章就介紹到這了,更多相關Mysql xtrabackup備份內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Windows環(huán)境下MySQL 8.0 的安裝、配置與卸載
這篇文章主要介紹了Windows環(huán)境下MySQL 8.0 的安裝、配置與卸載步驟,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09mysql提示Changed limits: max_open_files: 2048 max_connections:
這篇文章主要介紹了mysql提示Changed limits: max_open_files: 2048 max_connections: 1910 table_cache: 64的解決,需要的朋友可以參考下2014-05-05