MySQLBackup備份數(shù)據(jù)庫的操作過程
環(huán)境:MySQL 8.0.36
1、安裝部署
[root@node5 ~]# wget -c https://edelivery.oracle.com/osdc/softwareDownload?fileName=V1040085-01.zip
[root@node5 ~]# ll
total 22776
-rw-------. 1 root root 1066 Jan 21 14:59 anaconda-ks.cfg
-r–r–r–. 1 root root 23316009 Feb 24 18:50 V1040085-01.zip
[root@node5 ~]# unzip V1040085-01.zip
[root@node5 ~]# yum install mysql-commercial-backup-8.0.36-1.1.el8.x86_64.rpm -y
2 、配置備份管理員
mysql> create user 'mysqlbackup'@'localhost' identified by 'MySQL@123';
Query OK, 0 rows affected (0.09 sec)
mysql> grant all on *.* to 'mysqlbackup'@'localhost';
Query OK, 0 rows affected (0.03 sec)
3、 backup-to-image方式備份數(shù)據(jù)庫
3.1 全量備份
[root@node5 ~]# mkdir /data
#創(chuàng)建備份目錄
[root@node5 ~]# mysqlbackup --user=mysqlbackup --password=MySQL@123 --socket=/var/lib/mysql/mysql.sock --backup-image=my_full_bak.mbi --backup-dir=/data/backup --show-progress --compress backup-to-image
[root@node5 ~]# ll /data/backup/
#查看備份后的文件
total 4408
-rw-r–r–. 1 root root 255 Feb 24 19:59 backup-my.cnf
drwxr-x—. 2 root root 4096 Feb 24 19:59 datadir
drwxr-x—. 2 root root 4096 Feb 24 19:59 meta
-rw-r-----. 1 root root 4475730 Feb 24 19:59 my_full_bak.mbi
-rw-r-----. 1 root root 19936 Feb 24 19:59 server-all.cnf
-rw-r-----. 1 root root 632 Feb 24 19:59 server-my.cnf
3.2 全量備份還原
1、檢驗(yàn)
[root@node5 ~]# mysqlbackup --backup-image=/data/backup/my_full_bak.mbi list-image
#通過list-image查看備份image中的文件內(nèi)容
[root@node5 ~]# mysqlbackup --backup-image=/data/backup/my_full_bak.mbi validate
#通過validate驗(yàn)證備份image的有效性
[root@node5 ~]# mysql -e 'drop database school'
#刪庫
[root@node5 ~]# mysql -e 'show databases'
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+
2、還原image
#這兩步必做
[root@node5 ~]# systemctl stop mysqld.service
#關(guān)閉mysqld服務(wù)
[root@node5 ~]# rm -rf /var/lib/mysql/*
#清空mysql的datadir目錄
[root@node5 ~]# mysqlbackup --datadir=/var/lib/mysql --backup-image=/data/backup/my_full_bak.mbi --backup-dir=/data/backup/tmp --uncompress copy-back-and-apply-log
[root@node5 ~]# chown -R mysql.mysql /var/lib/mysql/*
#更改權(quán)限
[root@node5 ~]# systemctl start mysqld.service
[root@node5 ~]# mysql -e 'select * from school.stu'
#確認(rèn)恢復(fù)
+-----+---------+--------+------+------------------+ | Sno | Sname | Ssex | Sage | Sdept | +-----+---------+--------+------+------------------+ | 1 | Alice | Female | 20 | Mathematics | | 2 | Bob | Male | 22 | Computer Science | | 3 | Charlie | Male | 21 | Engineering | | 4 | David | Female | 19 | Literature | +-----+---------+--------+------+------------------+
3.2 增量備份
1、第一次增量備份
mysql> INSERT INTO stu (Sno, Sname, Ssex, Sage, Sdept) VALUES (5, 'Emma', 'Female', 20, 'Mathematics'),(6, 'Tom', 'Male', 22, 'Computer Science');
[root@node5 ~]# mysqlbackup --user=mysqlbackup --password=MySQL@123 --socket=/var/lib/mysql/mysql.sock --compress --incremental --incremental-base=dir:/data/backup --backup-dir=/data/backup/incr1 --backup-image=my_inc1_bak.mbi backup-to-image
[root@node5 ~]# ll /data/backup/incr1/
total 1792
-rw-r–r–. 1 root root 255 Feb 24 20:22 backup-my.cnf
drwxr-x—. 2 root root 4096 Feb 24 20:22 datadir
drwxr-x—. 2 root root 4096 Feb 24 20:22 meta
-rw-r-----. 1 root root 1796619 Feb 24 20:22 my_inc1_bak.mbi
-rw-r-----. 1 root root 19936 Feb 24 20:22 server-all.cnf
-rw-r-----. 1 root root 505 Feb 24 20:22 server-my.cnf
2、第二次增量備份
mysql> INSERT INTO stu (Sno, Sname, Ssex, Sage, Sdept) VALUES (7, 'Lily', 'Female', 21, 'Engineering'),(8, 'Jack', 'Male', 19, 'Literature');
[root@node5 ~]# mysqlbackup --user=mysqlbackup --password=MySQL@123 --socket=/var/lib/mysql/mysql.sock --compress --incremental --incremental-base=history:last_backup --backup-dir=/data/backup/incr2 --backup-image=my_inc_bak.mbi backup-to-image
#–incremental-base 可以寫成history:last_backup不用寫上次備份的dir,兩個(gè)方法都可以
[root@node5 ~]# ll /data/backup/incr2/
total 1700
-rw-r–r–. 1 root root 255 Feb 24 20:28 backup-my.cnf
drwxr-x—. 2 root root 4096 Feb 24 20:28 datadir
drwxr-x—. 2 root root 4096 Feb 24 20:28 meta
-rw-r-----. 1 root root 1696167 Feb 24 20:28 my_inc_bak.mbi
-rw-r-----. 1 root root 19936 Feb 24 20:28 server-all.cnf
-rw-r-----. 1 root root 632 Feb 24 20:28 server-my.cnf
3.3 增量備份還原
[root@node5 ~]# mysql -e 'drop database school'
#刪庫
[root@node5 ~]# mysql -e 'show databases'
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+
[root@node5 ~]# systemctl stop mysqld.service
#關(guān)閉mysqld服務(wù)
[root@node5 ~]# rm -rf /var/lib/mysql/*
#清空mysql的datadir目錄
1、先還原完全備份
[root@node5 ~]# mysqlbackup --datadir=/var/lib/mysql --backup-image=/data/backup/my_full_bak.mbi --backup-dir=/data/backup/tmp1 --uncompress copy-back-and-apply-log
#注意backup-dir剛才是/data/backup/tmp,這里得換一個(gè)
2、第一次增量備份還原
[root@node5 ~]# mysqlbackup --backup-image=/data/backup/incr1/my_inc1_bak.mbi --backup-dir=/data/backup/incr1/tmp2 --datadir=/var/lib/mysql/ --incremental copy-back-and-apply-log
3、第二次增量備份還原
[root@node5 ~]# mysqlbackup --backup-image=/data/backup/incr2/my_inc_bak.mbi --backup-dir=/data/backup/incr2/tmp3 --datadir=/var/lib/mysql/ --incremental copy-back-and-apply-log
[root@node5 ~]# chown -R mysql.mysql /var/lib/mysql/*
[root@node5 ~]# systemctl start mysqld.service
[root@node5 ~]# mysql -e 'select * from school.stu'
+-----+---------+--------+------+------------------+ | Sno | Sname | Ssex | Sage | Sdept | +-----+---------+--------+------+------------------+ | 1 | Alice | Female | 20 | Mathematics | | 2 | Bob | Male | 22 | Computer Science | | 3 | Charlie | Male | 21 | Engineering | | 4 | David | Female | 19 | Literature | | 5 | Emma | Female | 20 | Mathematics | | 6 | Tom | Male | 22 | Computer Science | | 7 | Lily | Female | 21 | Engineering | | 8 | Jack | Male | 19 | Literature | +-----+---------+--------+------+------------------+
4、datafile方式備份數(shù)據(jù)庫
環(huán)境:最好恢復(fù)初始環(huán)境,或只把上次備份的目錄刪了
4.1 完全備份
[root@node5 ~]# mysqlbackup --user=mysqlbackup --password=MySQL@123 --socket=/var/lib/mysql/mysql.sock --backup-dir=/data/backup --show-progress --compress backup
[root@node5 ~]# ll /data/backup/
total 36
-rw-r–r–. 1 root root 255 Feb 24 20:53 backup-my.cnf
drwxr-x—. 6 root root 4096 Feb 24 20:53 datadir
drwxr-x—. 2 root root 4096 Feb 24 20:53 meta
-rw-r-----. 1 root root 19936 Feb 24 20:53 server-all.cnf
-rw-r-----. 1 root root 632 Feb 24 20:53 server-my.cnf
4.2 完全備份恢復(fù)
[root@node5 ~]# mysql -e 'drop database school'
[root@node5 ~]# mysql -e 'show databases'
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+
[root@node5 ~]# systemctl restart mysqld.service
[root@node5 ~]# systemctl stop mysqld.service
[root@node5 ~]# rm -rf /var/lib/mysql/*
[root@node5 ~]# mysqlbackup --backup-dir=/data/backup apply-log
#備份過程中產(chǎn)生的日志文件
[root@node5 ~]# mysqlbackup --datadir=/var/lib/mysql/ --backup-dir=/data/backup copy-back-and-apply-log
#將備份的文件拷貝到datadir下
[root@node5 ~]# chown -R mysql.mysql /var/lib/mysql/*
[root@node5 ~]# systemctl start mysqld.service
[root@node5 ~]# mysql -e 'select * from school.stu'
+-----+---------+--------+------+------------------+ | Sno | Sname | Ssex | Sage | Sdept | +-----+---------+--------+------+------------------+ | 1 | Alice | Female | 20 | Mathematics | | 2 | Bob | Male | 22 | Computer Science | | 3 | Charlie | Male | 21 | Engineering | | 4 | David | Female | 19 | Literature | +-----+---------+--------+------+------------------+
4.3增量備份
1、第一次增量備份
mysql> INSERT INTO stu (Sno, Sname, Ssex, Sage, Sdept) VALUES (5, 'Emma', 'Female', 20, 'Mathematics'),(6, 'Tom', 'Male', 22, 'Computer Science');
[root@node5 ~]# mysqlbackup --user=mysqlbackup --password=MySQL@123 --socket=/var/lib/mysql/mysql.sock --compress --incremental --incremental-base=dir:/data/backup --incremental-backup-dir=/data/backup/incr1 backup
[root@node5 ~]# ll /data/backup/incr1/
total 36
-rw-r–r–. 1 root root 255 Feb 24 21:55 backup-my.cnf
drwxr-x—. 6 root root 4096 Feb 24 21:55 datadir
drwxr-x—. 2 root root 4096 Feb 24 21:55 meta
-rw-r-----. 1 root root 19936 Feb 24 21:55 server-all.cnf
-rw-r-----. 1 root root 632 Feb 24 21:55 server-my.cnf
2、第二次增量備份
mysql> INSERT INTO stu (Sno, Sname, Ssex, Sage, Sdept) VALUES (7, 'Lily', 'Female', 21, 'Engineering'),(8, 'Jack', 'Male', 19, 'Literature');
[root@node5 ~]# mysqlbackup --user=mysqlbackup --password=MySQL@123 --socket=/var/lib/mysql/mysql.sock --compress --incremental --incremental-base=history:last_backup --incremental-backup-dir=/data/backup/incr2 backup
[root@node5 ~]# ll /data/backup/incr2/
total 36
-rw-r–r–. 1 root root 255 Feb 24 21:56 backup-my.cnf
drwxr-x—. 6 root root 4096 Feb 24 21:56 datadir
drwxr-x—. 2 root root 4096 Feb 24 21:56 meta
-rw-r-----. 1 root root 19936 Feb 24 21:56 server-all.cnf
-rw-r-----. 1 root root 632 Feb 24 21:56 server-my.cnf
4.4增量備份還原
[root@node5 ~]# mysql -e 'drop database school'
#刪庫
[root@node5 ~]# mysql -e 'show databases'
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+
[root@node5 ~]# systemctl stop mysqld.service
#關(guān)閉mysqld服務(wù)
[root@node5 ~]# rm -rf /var/lib/mysql/*
#清空mysql的datadir目錄
[root@node5 ~]# mysqlbackup --backup-dir=/data/backup apply-log
#備份過程中產(chǎn)生的日志文件
[root@node5 ~]# mysqlbackup --incremental-backup-dir=/data/backup/incr1 --backup-dir=/data/backup/ apply-incremental-backup
#增備apply-incremental-backup
[root@node5 ~]# mysqlbackup --incremental-backup-dir=/data/backup/incr2 --backup-dir=/data/backup/ apply-incremental-backup
[root@node5 ~]# mysqlbackup --datadir=/var/lib/mysql --backup-dir=/data/backup/ copy-back-and-apply-log
#將幾次備份搞得文件拷到datadir
[root@node5 ~]# chown -R mysql.mysql /var/lib/mysql/*
[root@node5 ~]# systemctl start mysqld.service
[root@node5 ~]# mysql -e 'select * from school.stu'
+-----+---------+--------+------+------------------+ | Sno | Sname | Ssex | Sage | Sdept | +-----+---------+--------+------+------------------+ | 1 | Alice | Female | 20 | Mathematics | | 2 | Bob | Male | 22 | Computer Science | | 3 | Charlie | Male | 21 | Engineering | | 4 | David | Female | 19 | Literature | | 5 | Emma | Female | 20 | Mathematics | | 6 | Tom | Male | 22 | Computer Science | | 7 | Lily | Female | 21 | Engineering | | 8 | Jack | Male | 19 | Literature | +-----+---------+--------+------+------------------+
到此這篇關(guān)于MySQLBackup備份數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)MySQLBackup備份數(shù)據(jù)庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 詳解Mysql之mysqlbackup備份與恢復(fù)實(shí)踐
- MySQL使用innobackupex備份連接服務(wù)器失敗的解決方法
- MySQL使用xtrabackup進(jìn)行備份還原操作
- 安裝使用Percona XtraBackup來備份恢復(fù)MySQL的教程
- 編寫腳本令Xtrabackup對(duì)MySQL數(shù)據(jù)進(jìn)行備份的教程
- MySQL定時(shí)備份數(shù)據(jù)庫操作示例
- Python實(shí)現(xiàn)定時(shí)備份mysql數(shù)據(jù)庫并把備份數(shù)據(jù)庫郵件發(fā)送
- Navicat for MySQL定時(shí)備份數(shù)據(jù)庫及數(shù)據(jù)恢復(fù)詳解
- mysqldump備份數(shù)據(jù)庫時(shí)排除某些庫的實(shí)例
- mysql自動(dòng)定時(shí)備份數(shù)據(jù)庫的最佳方法(windows服務(wù)器)
相關(guān)文章
MySQL數(shù)據(jù)庫遷移快速導(dǎo)出導(dǎo)入大量數(shù)據(jù)
今天小編就為大家分享一篇關(guān)于MySQL數(shù)據(jù)庫遷移快速導(dǎo)出導(dǎo)入大量數(shù)據(jù),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03MySQL數(shù)據(jù)庫可以用任意ip連接訪問的方法
本文主要介紹了MySQL數(shù)據(jù)庫可以用任意ip連接訪問的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05MySQL使用觸發(fā)器如何實(shí)現(xiàn)CHECK檢查約束的功能
這篇文章主要介紹了MySQL使用觸發(fā)器如何實(shí)現(xiàn)CHECK檢查約束的功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01淺談Mysql中類似于nvl()函數(shù)的ifnull()函數(shù)
下面小編就為大家?guī)硪黄獪\談Mysql中類似于nvl()函數(shù)的ifnull()函數(shù)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02Windows下MySQL?8.0.29?安裝和刪除圖文教程
這篇文章主要為大家詳細(xì)介紹了Windows下MySQL?8.0.29?安裝和刪除圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07簡(jiǎn)單了解MySQL union all與union的區(qū)別
這篇文章主要介紹了簡(jiǎn)單了解MySQL union all與union的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03