国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

這篇具有很好參考價值的文章主要介紹了【數(shù)據(jù)庫四】MySQL備份與恢復(fù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.數(shù)據(jù)庫備份的分類

1.1 數(shù)據(jù)備份的重要性

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

1.2 數(shù)據(jù)庫備份的分類

數(shù)據(jù)庫備份

物理備份:直接對數(shù)據(jù)庫的數(shù)據(jù)文件或者日志文件進行備份.
邏輯備份:對數(shù)據(jù)庫的庫或表對象進行備份.

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

備份策略

完全備份:每次備份都備份完整的數(shù)據(jù)庫.

  • 是對整個數(shù)據(jù)庫、數(shù)據(jù)庫結(jié)構(gòu)和文件結(jié)構(gòu)的備份。
  • 保存的是備份完成時刻的數(shù)據(jù)庫
  • 差異備份與增量備份的基礎(chǔ)。

差異備份:只備份上一次完全備份后的更新數(shù)據(jù).
增量備份:每次備份只備份上一次完全備份或增量備份后的最新數(shù)據(jù).
完全備份
【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
增量備份

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
差異備份
【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

1.3 常見的備份方法

物理冷備

  • 備份時數(shù)據(jù)庫處于關(guān)閉狀態(tài),直接打包數(shù)據(jù)庫文件

  • 備份速度快,恢復(fù)時也是最簡單的

專用備份工具mysqldump或mysqlhotcopy

  • mysqldump常用的邏輯備份工具

  • mysqlhotcopy僅擁有備份MylSAM和ARCHIVE表

啟用二進制日志進行增量備份

  • 進行增量備份,需要刷新二進制日志

第三方工具備份

  • 免費的MySQL熱備份軟件Percona XtraBackup

2.MySQL完全備份與恢復(fù)

2.1 MySQL完全備份

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

優(yōu)點

備份與恢復(fù)操作簡單方便

缺點

  • 數(shù)據(jù)存在大量的重復(fù)
  • 占用大量的備份空間
  • 備份與恢復(fù)時間長

2.2 數(shù)據(jù)庫完全備份分類

物理冷備份與恢復(fù)

  • 關(guān)閉MySQL數(shù)據(jù)庫
  • 使用tar命令直接打包數(shù)據(jù)庫文件夾
  • 直接替換現(xiàn)有MySQL目錄即可

補充:

tar zcvf  歸檔文件  原數(shù)據(jù)文件/目錄     gzip
tar  jcvf  歸檔文件  原數(shù)據(jù)文件/目錄  bzip2
tar  Jcvf  歸檔文件  原數(shù)據(jù)文件/目錄  xz

mysqldump備份與恢復(fù)

  • MySQL自帶的備份工具,可方便實現(xiàn)對MySQL的備份
  • 可以將指定的庫、表導(dǎo)出為SQL腳本
  • 使用命令mysql導(dǎo)入備份的數(shù)據(jù)

2.3 MySQL物理冷備份及恢復(fù)

物理冷備份

先關(guān)閉數(shù)據(jù)庫,然后打包備份相關(guān)數(shù)據(jù)庫文件;

systemctl stop mysqld
mkdir /opt/backup    #將數(shù)據(jù)庫備份文件保存到/opt/backup目錄下
cd /usr/local/mysql
tar zcf /opt/backup/mysql_data-$(date +%F).tar.gz data/
cd /opt/backup/
tar tf mysql_data-2023-06-19.tar.gz     #查看tar壓縮包里的數(shù)據(jù)文件
tar xf mysql_data-2023-06-19.tar.gz    #解壓縮tar壓縮包里的數(shù)據(jù)文件

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
恢復(fù)數(shù)據(jù)庫

說明: 上面?zhèn)浞莸臄?shù)據(jù)庫文件數(shù)據(jù)mysql_data-2023-06-19.tar.gz,作為遠端異地已經(jīng)備份好的數(shù)據(jù)庫文件(IP:192.168.80.60),然后加載到另一臺需要恢復(fù)的數(shù)據(jù)庫主機(IP:192.168.80.70)。

###遠端已備份數(shù)據(jù)文件主機(IP:192.168.80.60)
cd  /opt/backup
scp mysql_data-2023-06-19.tar.gz 192.168.80.70:/opt

###需要恢復(fù)數(shù)據(jù)庫文件主機(IP:192.168.80.70)
systemctl stop mysqld
cd /opt
tar xf mysql_data-2023-06-19.tar.gz 
mv /usr/local/mysql/data /usr/local/mysql/data.bak    #將原有的數(shù)據(jù)庫文件移走
mv /opt/data/ /usr/local/mysql/
systemctl restart mysqld   #重新啟動數(shù)據(jù)庫服務(wù)
mysql -uroot -p111    #此數(shù)據(jù)庫密碼為之前備份數(shù)據(jù)庫的密碼

2.4 數(shù)據(jù)遷移DST

DTS (Data Transmission Service,數(shù)據(jù)傳輸服務(wù)),用于在關(guān)系型數(shù)據(jù)庫、NoSQL數(shù)據(jù)庫、數(shù)據(jù)倉庫之間遷移數(shù)據(jù)??梢允褂肈TS將數(shù)據(jù)遷移至阿里云,也可以在阿里云和本地數(shù)據(jù)系統(tǒng)之間做數(shù)據(jù)遷移。

DTS的優(yōu)勢

相比傳統(tǒng)的數(shù)據(jù)傳輸工具,DTS的優(yōu)勢:

(1) 傳輸過程中保證高穩(wěn)定性
(2) 支持多種數(shù)據(jù)傳輸方式,包括:數(shù)據(jù)遷移、數(shù)據(jù)集成、數(shù)據(jù)同步、數(shù)據(jù)訂閱
(3) 支持各種數(shù)據(jù)源直接的數(shù)據(jù)遷移。(如MySQL,redis等)
(4) 支持多種數(shù)據(jù)庫引擎作為源和目標
(5) 支持斷點續(xù)傳:避免了硬件和網(wǎng)絡(luò)故障導(dǎo)致的中斷
(6) 支持定時任務(wù)

數(shù)據(jù)遷移總結(jié):

體量小: 物理冷備 打包備份+恢復(fù)
體量中等: DTS
體量超大: 數(shù)據(jù)魔方

2.5 mysqldump進行邏輯備份

2.5.1 mysqldump備份數(shù)據(jù)庫

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

備份指定數(shù)據(jù)庫文件:
mysqldump -u用戶名 -p密碼 --databases 數(shù)據(jù)庫名 > 指定路徑的絕對路徑/數(shù)據(jù)庫名.sql

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

###將數(shù)據(jù)庫gzy的數(shù)據(jù)文件備份到/opt/backup目錄下,并重命名為gzy.sql
mysqldump -uroot -p111 --databases gzy > /opt/backup/gzy.sql  
vim /opt/backup//gzy.sql 

###同時備份gzy和mysql兩個數(shù)據(jù)庫文件
mysqldump -uroot -p111 --databases gzy mysql > /opt/backup/mysql_gzy.sql

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

備份所有數(shù)據(jù)庫文件:
mysqldump -u用戶名 -p密碼 --all-databases > 指定路徑的絕對路徑/all.sql

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

###備份所有數(shù)據(jù)庫中的數(shù)據(jù)庫文件數(shù)據(jù)
mysqldump -uroot -p111 --all-databases > /opt/backup/all-databases.sql

###過濾出備份文件中,不以“--”和"/*"開頭,并且以“CREATE DATABASE”開頭的數(shù)據(jù)行
cat all-databases.sql | grep -v "^--" | grep -v "^/\*" | grep "^CREATE DATABASE"

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

2.5.2 mysqldump備份數(shù)據(jù)表

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

備份指定數(shù)據(jù)庫中的表數(shù)據(jù)文件:
mysqldump -u用戶名 -p密碼 數(shù)據(jù)庫名 表名 > 指定路徑的絕對路徑/數(shù)據(jù)庫名_表名.sql

###備份gzy數(shù)據(jù)庫中clr表數(shù)據(jù)內(nèi)容
mysqldump -uroot -p111 gzy clr > /opt/backup/gzy_clr.sql
vim /opt/backup/gzy_clr.sql

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

備份指定數(shù)據(jù)庫中的所有表數(shù)據(jù)文件:
mysqldump -u用戶名 -p密碼 數(shù)據(jù)庫名 > 指定路徑的絕對路徑/數(shù)據(jù)庫名_all.sql

###備份gzy數(shù)據(jù)庫中的所有表數(shù)據(jù)內(nèi)容,會包含gzy數(shù)據(jù)庫中的所有表信息,但不包括創(chuàng)建數(shù)據(jù)庫的操作
mysqldump -uroot -p111 gzy> /opt/backup/gzy_all.sql
vim /opt/backup/gzy_all.sql

2.6 數(shù)據(jù)庫備份總結(jié)

完全備份

物理冷備: 先關(guān)閉mysqld服務(wù),使用tar命令打包備份數(shù)據(jù)庫的數(shù)據(jù)目錄/文件 /usr/local/mysql/data/

mysqldump、xtrabackup等工具來邏輯備份

###備份單庫或多庫
mysqldump -uXXX -pXXX --databases 庫1 [庫2] ... >  XXX.sql  
###備份所有的庫   
mysqldump -uXXX -pXXX --all-databases > XXX.sql   
###備份庫中的一個或多個表數(shù)據(jù)(不包含創(chuàng)建庫的操作)             
mysqldump -uXXX -pXXX 庫名 表12 ... > XXX.sql   
###備份庫中的所有表數(shù)據(jù)(不包含創(chuàng)建庫的操作)            
mysqldump -uXXX -pXXX 庫名 > XXX.sql                           

3. 恢復(fù)數(shù)據(jù)庫

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

3.1 使用source命令恢復(fù)數(shù)據(jù)庫

使用source命令恢復(fù)數(shù)據(jù)庫的備份文件;

###查看gzy數(shù)據(jù)庫中的clr表的數(shù)據(jù)文件信息(免交互登錄數(shù)據(jù)庫的方式)
mysql -uroot -p111 -e "select * from gzy.clr;"   
###刪除指定數(shù)據(jù)庫gzy
mysql -uroot -p111 -e "drop database gzy;"

###登錄數(shù)據(jù)庫
mysql -uroot -p111
###使用source命令恢復(fù)指定數(shù)據(jù)庫文件
source /opt/backup/gzy.sql;

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

注意: 在使用數(shù)據(jù)庫備份文件恢復(fù)具體數(shù)據(jù)庫時,可以直接使用source命令直接恢復(fù)數(shù)據(jù)庫;但是在使用指定指定數(shù)據(jù)庫中的數(shù)據(jù)表備份文件恢復(fù)數(shù)據(jù)時,需要先創(chuàng)建數(shù)據(jù)庫,然后切換到新創(chuàng)建的數(shù)據(jù)庫中,使用source命令恢復(fù)數(shù)據(jù)文件。

mysql -uroot -p111 -e "drop database gzy;"

###登錄數(shù)據(jù)庫
mysql -uroot -p111 
###先創(chuàng)建數(shù)據(jù)庫kgc,然后切換到新創(chuàng)建的數(shù)據(jù)庫kgc中
create database kgc;
use kgc;
###恢復(fù)數(shù)據(jù)庫中的數(shù)據(jù)表文件數(shù)據(jù)
source /opt/backup/gzy_clr.sql;
select * from clr;

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

3.2 使用mysql命令恢復(fù)數(shù)據(jù)庫

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

3.2.1 重定向方式恢復(fù)數(shù)據(jù)庫

使用mysql重定向的方式恢復(fù)指定數(shù)據(jù)庫文件;

mysql -uroot -p111 -e "drop database gzy;"
###使用mysql重定向的方式恢復(fù)指定數(shù)據(jù)庫文件
mysql -uroot -p111 < /opt/backup/gzy.sql
mysql -uroot -p111 -e "show databases;"

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

3.2.2 管道符方式恢復(fù)數(shù)據(jù)庫

使用mysql+管道符的方式恢復(fù)指定數(shù)據(jù)庫文件;

mysql -uroot -p111 -e "drop database gzy;"
cat /opt/backup/gzy.sql | mysql -uroot -p111
mysql -uroot -p111 -e "show databases;"

免交互方式,使用指定數(shù)據(jù)庫中的數(shù)據(jù)表文件恢復(fù);

mysql -uroot -p111 -e "drop database gzy;"
mysql -uroot -p111 -e "show databases;"
mysql -uroot -p111 < /opt/backup/gzy_clr.sql
###將已備份好的數(shù)據(jù)文件恢復(fù)到指定數(shù)據(jù)庫kgc中
mysql -uroot -p111 kgc < /opt/backup/gzy_clr.sql
mysql -uroot -p111 -e "select * from kgc.clr;"

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

3.3 恢復(fù)表操作

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
舉例:shell腳本定時自動執(zhí)行腳本備份操作

###每周二的凌晨十二點半,定時自動執(zhí)行腳本備份所有的數(shù)據(jù)庫文件數(shù)據(jù)
30  0  * * 2 xxx/mysqldump-uxx -pxxx --all-databases > /opt/backup/XXX.sql

3.4 完全恢復(fù)數(shù)據(jù)庫總結(jié)

完全恢復(fù)

先登錄到mysql,再執(zhí)行 source XXX.sql(注:如果XXX.sql是表數(shù)據(jù)文件那么需要先自行創(chuàng)建庫并use切換庫

mysql -uXXX -pXXX [庫名] < XXX.sql
cat XXX.sql | mysql -uXXX -pXXX [庫名]

4.MySQL增量備份與恢復(fù)

4.1 二進制日志文件

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

mysql -uroot -p111 
###模糊查詢通用日志的相關(guān)信息
show variables like 'general%';
###模糊查詢二進制日志的相關(guān)信息
show variables like 'log_bin%';
###模糊查詢慢查詢?nèi)罩镜南嚓P(guān)信息
show variables like '%slow%';

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

vim /etc/my.cnf
------------在“server-id”行下面添加mysql數(shù)據(jù)庫的日志信息---------
server-id = 1
---------------------------------------------------------------
#錯誤日志
log-error=/usr/local/mysql/data/mysql_error.log
#通用查詢?nèi)罩?/span>
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
#二進制日志
log-bin=mysql-bin
#慢查詢?nèi)罩?/span>
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=2

systemctl restart mysqld
mysql -uroot -p111

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

刷新生成二進制日志文件的兩種方式:

(1)重啟數(shù)據(jù)庫服務(wù):systemctl restart mysqld;

(2)flush-logs命令刷新:mysqladmin -uroot -p111 flush-logs;

注意: 新刷新出來的數(shù)據(jù)日志文件,實際是個空文件,因此應(yīng)該備份保存的是新刷新出來的前一個序列號的日志文件。

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

二進制日志(binlog)有3種不同的記錄格式:

  • STATEMENT(基于SQL語句):默認格式是STATEMENT。該方式記錄語句快,占用內(nèi)存空間少。但高并發(fā)情況下會導(dǎo)致記錄日志順序紊亂,造成恢復(fù)數(shù)據(jù)時發(fā)生偏差。
  • ROW(基于行)基于數(shù)據(jù)內(nèi)容行進行記錄,不僅記錄執(zhí)行的命令語句,還會記錄命令影響的相關(guān)數(shù)據(jù)行。
  • MIXED(混合模式)高并發(fā)情況下ROW方式進行記錄,一般情況下采用STATEMENT方式進行記錄。
vim /etc/my.cnf
#錯誤日志
log-error=/usr/local/mysql/data/mysql_error.log
#通用查詢?nèi)罩?/span>
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
#二進制日志
log-bin=mysql-bin
#可選,指定二進制日志(binlog)的記錄格式為ROW
binlog_format = ROW
#慢查詢?nèi)罩?/span>
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=2

systemctl restart mysqld

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

###轉(zhuǎn)換格式,查看指定序列號的二進制數(shù)據(jù)日志文件
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000003
--no-defaults:不使用默認格式進行查看
--base64-output=decode-rows:使用base64密碼格式進行轉(zhuǎn)換,-rows:按行進行輸出
-v:顯示詳細輸出過程

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

###修改更新數(shù)據(jù)庫文件,可以在新生成的二進制日志數(shù)據(jù)文件中查看到更新的數(shù)據(jù)內(nèi)容
mysql -uroot -p111
use gzy;
update clr set name='xiaoxiao' where id=2;

systemctl restart mysqld
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000005

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

4.2 實例:完全備份+增量備份恢復(fù)數(shù)據(jù)庫

mkdir /opt/bak
cd /opt/bak/
###full文件用于保存完全備份的數(shù)據(jù)文件,add用于保存增量備份的數(shù)據(jù)文件
mkdir full add

mysql -uroot -p111
###創(chuàng)建benet數(shù)據(jù)庫
create database benet;
use benet;
create table t1 (id int,name varchar(20),age int,hobby varchar(50));
insert into t1 values (1,'小狗',22,'吃魚');
insert into t1 values (2,'小豬',29,'吃牛');
insert into t1 values (3,'小貓',20,'畫虎');

###采用完全備份的方式備份benet數(shù)據(jù)庫中的所有內(nèi)容
mysqldump -uroot -p111 --databases benet > /opt/bak/full/benet-$(date +%F).sql

###刷新權(quán)限,采用增量方式備份benet數(shù)據(jù)庫中的所有內(nèi)容
mysqladmin -uroot -p111 flush-logs
cd /usr/local/mysql/data
mv /usr/local/mysql/data/mysql-bin.000001 /opt/bak/add/mysql-bin-$(date +%F).sql

###新的一天增加新的數(shù)據(jù)內(nèi)容,并進行增量備份新增加的數(shù)據(jù)內(nèi)容
insert into t1 values (4,'小熊',22,'爬山');
insert into t1 values (5,'小馬',25,'跑步');

###增量備份新生成的數(shù)據(jù)文件
mysqladmin -uroot -p111 flush-logs
mv /usr/local/mysql/data/mysql-bin.000002 /opt/bak/add/mysql-bin-$(date -d "1 day" +%F).sql

###新的一天增加新的數(shù)據(jù)內(nèi)容,并進行增量備份新增加的數(shù)據(jù)內(nèi)容
insert into t1 values (6,'小驢',22,'走路');
insert into t1 values (7,'小雞',23,'唱歌');

###增量備份新生成的數(shù)據(jù)文件
mysqladmin -uroot -p111 flush-logs
mv /usr/local/mysql/data/mysql-bin.000003 /opt/bak/add/mysql-bin-$(date -d "2 day" +%F).sql

###刪除提前已經(jīng)備份好的數(shù)據(jù)庫benet
drop database benet;

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

完全備份+增量備份的具體恢復(fù)步驟:

###先采用完全備份的方式恢復(fù)benet數(shù)據(jù)庫的文件內(nèi)容
cd /opt/bak/full
cat benet-2023-06-19.sql | mysql -uroot -p111
mysql -uroot -p111 -e "show databases;"
mysql -uroot -p111 -e "select * from benet.t1;"

###恢復(fù)第二天增量備份到的數(shù)據(jù)內(nèi)容
cd /opt/bak/add
mysqlbinlog --no-defaults mysql-bin-2023-06-20.sql | mysql -uroot -p111
mysql -uroot -p111 -e "select * from benet.t1;"

###恢復(fù)第三天增量備份到的數(shù)據(jù)內(nèi)容
mysqlbinlog --no-defaults mysql-bin-2023-06-21.sql | mysql -uroot -p111
mysql -uroot -p111 -e "select * from benet.t1;"

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

4.3 斷點恢復(fù)

mysql -uroot -p111
use benet;
select * from t1;
delete from t1 where id=6 or id=7;

###轉(zhuǎn)換二進制日志文件格式,將已備份文件重定向?qū)懭氲?txt文件中
mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin-2023-06-21.sql > mysql-bin-2023-06-21.txt

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

4.3.1 基于位置恢復(fù)

–start-position:從某個位置開始恢復(fù)備份文件,直到備份文件結(jié)尾結(jié)束

delete from t1 where id=6 or id=7;
###--start-position從某個位置開始往后恢復(fù)備份文件,直到結(jié)尾備份結(jié)束
mysqlbinlog --no-defaults --start-position='572' mysql-bin-2023-06-21.sql | mysql -uroot -p111

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

–stop-position:從開頭開始恢復(fù)備份文件,直到某個指定位置備份恢復(fù)結(jié)束

delete from t1 where id=6 or id=7;
###--stop-position從開頭開始恢復(fù)備份文件,直到某個指定位置結(jié)束
mysqlbinlog --no-defaults --stop-position='572' mysql-bin-2023-06-21.sql | mysql -uroot -p111

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

4.3.2 基于時間點恢復(fù)

–stop-datetime:從開頭開始恢復(fù)備份文件,直到某個指定時間節(jié)點備份結(jié)束

delete from t1 where id=6 or id=7;
###--stop-datetime從開頭開始恢復(fù)備份文件,直到某個指定時間節(jié)點備份結(jié)束
mysqlbinlog --no-defaults --stop-datetime='2023-06-19 21:37:08' mysql-bin-2023-06-21.sql | mysql -uroot -p111

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

–start-datetime:從指定時間節(jié)點開始恢復(fù)備份文件,直到結(jié)尾備份結(jié)束

delete from t1 where id=6 or id=7;
###--start-datetime從指定時間節(jié)點開始恢復(fù)備份文件,直到結(jié)尾備份結(jié)束
mysqlbinlog --no-defaults --start-datetime='2023-06-19 21:37:08' mysql-bin-2023-06-21.sql | mysql -uroot -p111

【數(shù)據(jù)庫四】MySQL備份與恢復(fù)
【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

4.4 增量備份總結(jié)

查看二進制日志文件

mysqlbinlog --no-defaults --base64-output=decode-rows -v  二進制日志文件

刷新二進制日志

mysqladmin -uXXX -pXXX flush-logs

使用二進制日志實現(xiàn)增量恢復(fù)

mysqlbinlog --no-defaults 二進制日志文件 | mysql -uXXX -pXXX

斷點恢復(fù)文章來源地址http://www.zghlxwxcb.cn/news/detail-500743.html

mysqlbinlog --no-defaults  --start-position="位置點"  --stop-position="位置點"  二進制日志文件 | mysql -uXXX -pXXX

mysqlbinlog --no-defaults  --start-datetime="YYYY-mm-dd HH:MM:SS"  --stop-datetime="YYYY-mm-dd HH:MM:SS"  二進制日志文件 | mysql -uXXX -pXXX
  • 如果需要恢復(fù)到某條SQL語句之前的所有數(shù)據(jù),就stop在這個語句的位置點或時間點;
  • 如果需要恢復(fù)某條SQL語句之后的所有數(shù)據(jù),就從這個語句的位置點或時間點start。

到了這里,關(guān)于【數(shù)據(jù)庫四】MySQL備份與恢復(fù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

    【數(shù)據(jù)庫四】MySQL備份與恢復(fù)

    數(shù)據(jù)庫備份 物理備份 :直接對數(shù)據(jù)庫的 數(shù)據(jù)文件或者日志文件 進行備份. 邏輯備份 :對 數(shù)據(jù)庫的庫或表對象 進行備份. 備份策略 完全備份 :每次備份 都備份完整的數(shù)據(jù)庫 . 是對整個數(shù)據(jù)庫、數(shù)據(jù)庫結(jié)構(gòu)和文件結(jié)構(gòu)的備份。 保存的是 備份完成時刻的數(shù)據(jù)庫 。 是 差異備份與增

    2024年02月11日
    瀏覽(101)
  • Mysql數(shù)據(jù)庫增量備份與恢復(fù)

    使用 mysqldump 進行完全備份,備份的數(shù)據(jù)中有重復(fù)數(shù)據(jù),備份時間與恢復(fù)時間長。 而增量備份就是備份自上一次備份之后增加或改變的文件或內(nèi)容。 1、增量備份的特點: 沒有重復(fù)數(shù)據(jù),備份量不大,時間短 恢復(fù)麻煩:需要上次完全備份及完全備份之后所有的增量備份才能恢復(fù)

    2024年02月07日
    瀏覽(93)
  • 數(shù)據(jù)庫(MySQL的備份和恢復(fù))

    目錄 1.1 MySQL 日志管理 1.1.1 MySQL日志類型 1.1.2 錯誤日志 錯誤日志中主要記錄的幾種日志 錯誤日志的定義 1.1.3 通用查詢?nèi)罩?1.1.4 慢查詢?nèi)罩?和慢查詢相關(guān)的變量設(shè)置 1.1.5 二進制日志 二進制日志是記錄執(zhí)行的語句還是執(zhí)行后的數(shù)據(jù) 日志滾動? 1.2 MySQL備份 1.2.1 備份類型 1.2.2

    2024年01月25日
    瀏覽(134)
  • 9-MySQL數(shù)據(jù)庫 數(shù)據(jù)的備份與恢復(fù)

    9-MySQL數(shù)據(jù)庫 數(shù)據(jù)的備份與恢復(fù)

    1.date文件的備份 2.mysqldump 備份 說明: mysqldump是MySQL數(shù)據(jù)庫中的一個實用程序,它主要用于轉(zhuǎn)儲(備份)數(shù)據(jù)庫。mysqldump通過生成一個SQL腳本文件,包含從頭開始重新創(chuàng)建數(shù)據(jù)庫所必需的(如 CREATE TABLE和INSERT等),來實現(xiàn)數(shù)據(jù)庫的備份和轉(zhuǎn)儲。這樣,你可以在任何時候通過運

    2024年02月08日
    瀏覽(96)
  • MySQL-備份+日志:介質(zhì)故障與數(shù)據(jù)庫恢復(fù)

    MySQL-備份+日志:介質(zhì)故障與數(shù)據(jù)庫恢復(fù)

    本關(guān)任務(wù): 備份數(shù)據(jù)庫,然后再恢復(fù)它。 為了完成本關(guān)任務(wù),你需要掌握: 1.MySQL的恢復(fù)機制; 2.MySQL提供的備份與恢復(fù)工具。 和大多數(shù)DBMS一樣,MySQL利用備份、日志文件實現(xiàn)恢復(fù)。 具體理論知識在此不詳細介紹。 MySQL提供了以下工具: 邏輯備份工具:mysqldump 物理備份工具

    2024年02月05日
    瀏覽(106)
  • 【Linux】Mysql的數(shù)據(jù)庫備份及恢復(fù)

    【Linux】Mysql的數(shù)據(jù)庫備份及恢復(fù)

    ????????備份就是為了防止原數(shù)據(jù)丟失,保證數(shù)據(jù)的安全。當數(shù)據(jù)庫因為某些原因造成部分或 者全部數(shù)據(jù)丟失后,備份文件可以幫我們找回丟失的數(shù)據(jù)。因此,數(shù)據(jù)備份是很重要 的工作。 常見數(shù)據(jù)庫備份的應(yīng)用場景如下: 數(shù)據(jù)丟失應(yīng)用場景: 人為操作失誤造成某些數(shù)據(jù)

    2023年04月10日
    瀏覽(86)
  • MySQL基礎(chǔ)(三十八)數(shù)據(jù)庫備份與恢復(fù)

    MySQL基礎(chǔ)(三十八)數(shù)據(jù)庫備份與恢復(fù)

    物理備份 :備份數(shù)據(jù)文件,轉(zhuǎn)儲數(shù)據(jù)庫物理文件到某一目錄。物理備份恢復(fù)速度比較快,但占用空間比較大,MySQL中可以用 xtrabackup 工具來進行物理備份。 邏輯備份 :對數(shù)據(jù)庫對象利用工具進行導(dǎo)出工作,匯總?cè)雮浞菸募?nèi)。邏輯備份恢復(fù)速度慢,但占用空間小,更靈活。

    2024年02月06日
    瀏覽(100)
  • 【七天入門數(shù)據(jù)庫】第五天 MySQL的備份恢復(fù)

    【七天入門數(shù)據(jù)庫】第一天 MySQL的安裝部署 【七天入門數(shù)據(jù)庫】第二天 數(shù)據(jù)庫理論基礎(chǔ) 【七天入門數(shù)據(jù)庫】第三天 MySQL的庫表操作 【七天入門數(shù)據(jù)庫】第四天 數(shù)據(jù)操作語言DML 【七天入門數(shù)據(jù)庫】第五天 MySQL的備份恢復(fù) 【七天入門數(shù)據(jù)庫】第六天 MySQL的視圖與索引 【七天

    2024年02月16日
    瀏覽(102)
  • mysql-DBA(1)-數(shù)據(jù)庫備份恢復(fù)-導(dǎo)入導(dǎo)出-日志解釋

    mysql-DBA(1)-數(shù)據(jù)庫備份恢復(fù)-導(dǎo)入導(dǎo)出-日志解釋

    log: hdd data :ssd? ,備份和導(dǎo)出都慢,緩沖池有污染。 邏輯備份:把所有的命令轉(zhuǎn)換成sql語句。 修改配置文件: -A 備份所有 -B 備份哪個數(shù)據(jù)庫 --master-data=1 同步 內(nèi)容: 備份參數(shù): 1.備份成文件,里面就是sql語句 2.routine: 3.trigger 觸發(fā)器 4.event: 定時任務(wù) 5.-B 數(shù)據(jù)庫 1.有-B 表

    2024年03月09日
    瀏覽(99)
  • MySQL數(shù)據(jù)庫的備份、恢復(fù)、導(dǎo)出、導(dǎo)入(bin log和mydump)

    一、使用 bin log 來恢復(fù)數(shù)據(jù) 一、bin log的三種格式 1、statement:基于SQL語句的復(fù)制(statement-based replication,SBR) 2、row:基于行的復(fù)制(row-based replication,RBR) 3、mixed:混合模式復(fù)制(mixed-based replication,MBR) 4、查看模式和更改模式 二、配置bin log策略 三、獲取bin log文件列表

    2024年02月21日
    瀏覽(100)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包