真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql怎么查看備份,如何查看數(shù)據(jù)庫備份

mysql怎么操作備份

1、建立自動備份腳本

我們提供的服務(wù)有:網(wǎng)站建設(shè)、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、武勝ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的武勝網(wǎng)站制作公司

為了使數(shù)據(jù)庫備份和恢復(fù)的符合我們的實(shí)際要求(備份保留七天,每天凌晨備份一次),用一段符合要求的Shell腳本來實(shí)現(xiàn)整個備份過程的自動化。

[root@mysqltest ~]# vim mysql-backup.sh

#!/bin/bash

##作者:Barlow##

##最后修訂:2013-6-25##

#腳本作用:備份Mysql數(shù)據(jù)庫

#

#設(shè)定備份保留天數(shù)K

K=7

#

TODAY=`date '+%Y%m%d'`

KDAY=`date -d "$TODAY - $K day" '+%Y%m%d'`

BACKDIR=/var/mysqlbak/$TODAY

KDAYDIR=/var/mysqlbak/$KDAY

mkdir -p $BACKDIR

#

# The Password of MySQL

ROOTPASS=******* ##將*替換為實(shí)際mysql數(shù)據(jù)庫的root密碼

#

# Get the Name of Database

DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`

#

# Backup with Database

for dbname in $DBLIST

do

mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy

done

#

#刪除過期備份

if [ -d "$KDAYDIR" ];then

rm -rf $KDAYDIR

exit

fi

改變腳本權(quán)限,root具有完全權(quán)限,其他用戶沒有任何權(quán)限:

[root@mysqltest ~]# chmod 700 mysql-backup.sh

運(yùn)行一次腳本:

[root@mysqltest ~]# ./mysql-backup.sh

查看運(yùn)行結(jié)果:

[root@mysqltest ~]# ll /var/mysqlbak/20130625/

mysql/ wordpress/

[root@mysqltest ~]# ll /var/mysqlbak/20130625/

總用量 8

drwxr-x---. 2 mysql mysql 4096 6月 25 14:26 mysql

drwxr-x---. 2 mysql mysql 4096 6月 25 14:26 wordpress

可以看到備份已經(jīng)成功完成。

2、創(chuàng)建自動任務(wù)每天運(yùn)行

[root@mysqltest ~]# crontab -e

00 01 * * * /root/mysql-backup.sh

##每天凌晨1點(diǎn)運(yùn)行一次

MySQL數(shù)據(jù)庫:如何判斷備份過程已經(jīng)完成

MYSQL數(shù)據(jù)如何實(shí)時備份

依次單擊:開始--程序--Microsoft SQL Server--企業(yè)管理器--SQL Server組--管理--數(shù)據(jù)庫維護(hù)計劃

在右側(cè)空白處右鍵單擊,新建維護(hù)計劃--勾選要備份的數(shù)據(jù)庫--下一步

指定數(shù)據(jù)庫備份計劃--調(diào)度--單擊"更改"--設(shè)置備份的時間,備份周期--下一步

每日頻率即是每天什么時間開始進(jìn)行備份

發(fā)生頻率即是執(zhí)行的周期

指定備份磁盤目錄--修改"使用此目錄"的路徑作為備份數(shù)據(jù)庫的存放路徑.勾選刪除早于此時間的文件,我這里選擇一周,即是數(shù)據(jù)庫備份文件把一周前的進(jìn)行刪除

給此任務(wù)計劃填寫一個名字:back 2單擊"完成",就可以在數(shù)據(jù)庫維護(hù)計劃中看到剛才新建的計劃.

MySQL的備份與還原,非常規(guī)備份,全量備份,增量備份

1:官方百萬級別的測試數(shù)據(jù)庫:

官方測試數(shù)據(jù)庫github網(wǎng)址:

下載到目錄,解壓即可,運(yùn)行命令:

2:自己創(chuàng)建簡單測試數(shù)據(jù)庫:

快速隨機(jī)生成測試語言的網(wǎng)站:

選擇sql和想生成的字段,點(diǎn)擊生成Generate!生成即可。

在MySQL輸入生成的語句即可。

3:測試備份還原時用到的命令

刪庫跑路測試(先備份好)

還原后查詢庫的表數(shù)據(jù)是否完整。

采用復(fù)制整個數(shù)據(jù)存放目錄

1:查看數(shù)據(jù)庫數(shù)據(jù)存放位置

有兩種方法:

1):在數(shù)據(jù)庫中用命令 show variables like 'datadir'; 查看

2):在配置文件中查看,配置了 datadir 目錄的可查看。沒有配置的默認(rèn)為 /var/lib/mysql/ 位置

Linux中查看配置文件

2:復(fù)制目錄或者目錄下某個數(shù)據(jù)庫名

3:還原時直接復(fù)制文件夾到數(shù)據(jù)庫目錄即可

mysqldump又可叫做全量備份。

參數(shù) --databases 同 -B ,單獨(dú)一個庫,也可省略。

1、備份命令mysqldump格式

格式:mysqldump -h主機(jī)名 -P端口 -u用戶名 -p密碼 database 數(shù)據(jù)庫名 文件名.sql

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

2、備份MySQL數(shù)據(jù)庫為帶刪除表的格式

備份MySQL數(shù)據(jù)庫為帶刪除表的格式,能夠讓該備份覆蓋已有數(shù)據(jù)庫而不需要手動刪除原有數(shù)據(jù)庫。

3、直接將MySQL數(shù)據(jù)庫壓縮備份

備份并壓縮

4、備份MySQL數(shù)據(jù)庫某個(些)表

備份testDatabase中的myTable表,不需要用參數(shù) --databases 或者 -B

5、同時備份多個MySQL數(shù)據(jù)庫

同時備份testDatabase和 employees兩個庫

6、備份服務(wù)器上所有數(shù)據(jù)庫

參數(shù) --all-databases 同 -A

7、還原MySQL數(shù)據(jù)庫的命令

1) 不指定數(shù)據(jù)名還原,默認(rèn)生成原數(shù)據(jù)庫名稱,還原所有數(shù)據(jù)庫。

2) 指定數(shù)據(jù)名還原,還原指定單個數(shù)據(jù)庫,需在數(shù)據(jù)庫種預(yù)先創(chuàng)建一個testDatabase名稱。

3) 還原壓縮的MySQL數(shù)據(jù)庫

4) 進(jìn)入數(shù)據(jù)庫用source導(dǎo)入

增量備份是針對于數(shù)據(jù)庫的bin-log日志進(jìn)行備份的,增量備份是在全量的基礎(chǔ)上進(jìn)行操作的。增量備份主要是靠mysql記錄的bin-log日志。

1:查看是否開啟bin-log日志

進(jìn)入mysql輸入命令可查看。

顯示如下為開啟狀態(tài),日志文件在/var/lib/mysql/以binlog.00001的格式保存。

如未開啟,需要在配置文件種配置

2:查看目前使用的bin-log日志文件

進(jìn)入mysql查看命令。

顯示如下,目前使用的是binlog.000022文件,所有操作都記錄在此文件。

查看當(dāng)前testDatabase的表myTable數(shù)據(jù)如下,

3:刷新日志,使用新的日志文件(備份)

在命令端執(zhí)行命令

日志文件從 binlog.000022 變?yōu)?binlog.000023

這時相當(dāng)與已經(jīng)備份成功,備份文件即為上次的binlog.000022日志文件。

4:刪除數(shù)量,從日志還原數(shù)據(jù)

1) 刪除ABC行

查詢以及沒有ABC行列。

2) 恢復(fù)數(shù)據(jù)ABC行

退出mysql,在命令端用mysqlbinlog命令恢復(fù)到binlog.000022日志狀態(tài)。

進(jìn)入數(shù)據(jù)庫再次查看數(shù)據(jù),ABC已經(jīng)恢復(fù)。

增量備份完成。

mysql到底如何備份

數(shù)據(jù)備份是數(shù)據(jù)容災(zāi)的最后一道防線,即便有著兩地三中心的架構(gòu),備份也依然重要。如果備份出問題,備份時影響了交易業(yè)務(wù),備份數(shù)據(jù)無法恢復(fù),這些也是企業(yè)難以承受的。所以選擇合適的備份工具尤為重要。

每個企業(yè)級數(shù)據(jù)庫都會有配套的備份工具,MEB(MySQL Enterprise Backup)就是MySQL企業(yè)版中非常重要的工具之一,是為企業(yè)級客戶提供的數(shù)據(jù)備份方案。

Xtrabackup一直作為MEB 開源版?zhèn)涮ザ嬖?,從MySQL 8.0開始情況可能會變得有所不同。

在 MySQL 8.0的Backup Lock、Redo Log Archiving、Page Tracking等新特性的加持下,MEB備份/恢復(fù)體驗(yàn)會更好,目前xtrabackup還不支持這些特性。

MySQL 企業(yè)版還有哪些功能?

特性1:Backup Lock

8.0之前使用xtrabackup或MEB做物理備份,為了保證備份時InnoDB引擎表與其他引擎數(shù)據(jù)文件、及binlog日志的一致性會上全局讀鎖,再拷貝非InnoDB文件,這期間MySQL會變成只讀,數(shù)據(jù)無法寫入。表數(shù)量越多,可能加上時間越長,如果使用的xtrabackup 不小心沒加rsync參數(shù),逐個拷貝frm文件,鎖定時間會更長,對業(yè)務(wù)影響較大。

我曾遇到過部署在虛擬機(jī)的實(shí)例有12000多張表,當(dāng)時使用的xtrabackup,備份腳本中沒加rsync參數(shù),結(jié)果鎖了十幾分鐘,而MEB就沒有這樣的問題。

MySQL 8.0支持輕量級備份鎖 LOCK INSTANCE FOR BACKUP,數(shù)據(jù)字典也重構(gòu)了由InnoDB存儲。若不創(chuàng)建非InnoDB表,MEB默認(rèn)使用備份鎖獲取binlog日志一致性位置,并阻止DDL操作,但不影響DML操作。

只有InnoDB表,僅上備份鎖

請點(diǎn)擊輸入圖片描述

若有非InnoDB表,上全局鎖

請點(diǎn)擊輸入圖片描述

特性2:Redo Log Archiving

MEB能做到在線熱備,備份時不影響數(shù)據(jù)庫讀寫,這是利用了InnoDB事務(wù)日志,在備份期間持續(xù)監(jiān)視redo log的變化,讀取增量變化,寫入到ibbackup_logfile,也就不需要上鎖來保障備份一致性。(對非InnoDB的文件需要上讀鎖拷貝)

如果備份期間數(shù)據(jù)庫寫入負(fù)載特別大,而寫入ibbackup_logfile速度較慢,redo log size也不大,很可能會出現(xiàn)ibbackup_logfile的寫入速度跟不上redo log記錄生成速度,redo log 空間不夠時需要覆寫日志文件,那么來不及寫入ibbackup_logfile的記錄會丟失,導(dǎo)致備份失敗。

MEB 4.1對此做了優(yōu)化,將redo log處理線程拆分成多線程分工合作,提高處理redo log的效率,降低了redo log覆寫造成備份失敗的概率,但redo log新增速度和ibbackup_logfile寫入速度懸殊太大,問題依然會發(fā)生。

MySQL 8.0.17支持了redo log archiving 徹底解決了此問題,備份前設(shè)置innodb_redo_log_archive_dirs,指定redo log歸檔目錄。MEB備份時自動開啟日志歸檔,當(dāng)checkpoint時會將舊記錄歸檔到此目錄,后續(xù)從歸檔文件中讀取redo日志記錄,避免了覆寫可能導(dǎo)致的redo記錄丟失。

請點(diǎn)擊輸入圖片描述

注意:innodb_redo_log_archive_dirs 不能在數(shù)據(jù)目錄下,目錄權(quán)限要求是700

特性3:Page Tracking

Page Tracking 是為優(yōu)化增量備份效率,減少不必要的數(shù)據(jù)頁掃描。

增量備份當(dāng)前有3種掃描模式:

page-track:利用LSN精確跟蹤上次備份之后被修改頁面,僅復(fù)制這些頁面,效率最快。

optimistic:掃描上次備份之后被修改的InnoDB 數(shù)據(jù)文件中,找出并拷貝修改的頁面。依賴系統(tǒng)時間,使用存在限制。

full-scan:掃描所有InnoDB數(shù)據(jù)文件,找出并拷貝自上次備份之后修改的頁面,效率最慢

1、利用page-track增量備份,需先安裝備份組件

mysql INSTALL COMPONENT "";

2、在全備前開啟page-track

SELECT mysqlbackup_page_track_set(true);

3、全備之后,做增量備份時指定若滿足page tracking條件,默認(rèn)會使用page-track模式,否則會使用full-scan模式,也可以指定--incremental=page-track。

mysqlbackup --incremental-backup-dir=backup_incr --trace=3 --incremental=page-track --incremental-base=history:last_full_backup backup

incremental-base有3種選擇

last_backup:基于前一次備份做增備,前一次備份可能是增備,也可能是全備。這種方式全備之間可能會有多個增備,每次增量可能比較小,但恢復(fù)時需要逐個合并。

last_full_backup:基于前一次全備做增備。這種方式增備會越往后體積可能越大,但恢復(fù)時只需要合并最后一次增量備份。

dir:基于前一次的備份目錄,前一次備份可能是增備,也可能是全備。

測試對比full-scan 和page-track ,在變更頁小于總體50%的情況下 ,備份效率至少能有1倍的速度提升。

page-track 模式 磁盤讀寫均衡,說明讀寫的都是修改頁面。

請點(diǎn)擊輸入圖片描述

full-scan模式 磁盤讀寫差別很大,說明讀了很多未修改的頁面。

請點(diǎn)擊輸入圖片描述

如何查看Mysql的登錄日志和備份日志

查看mysql志:

使用BIN目錄mysqlbinlog命令:

Binmysqlbinlog d:/mysql_log/mysql_bin.000001

Binmysqlbinlog d:/mysql_log/mysql_bin.000002

Binmysqlbinlog d:/mysql_log/mysql_bin.000003

Binmysqlbinlog d:/mysql_log/mysql_bin.000004

Binmysqlbinlog d:/mysql_log/mysql_bin.000005

使用SQL語句查看mysql創(chuàng)建二進(jìn)制文件目錄:

Mysql show master logs; 查看前二進(jìn)制文件狀態(tài):

mysql show master status;


分享題目:mysql怎么查看備份,如何查看數(shù)據(jù)庫備份
標(biāo)題網(wǎng)址:http://weahome.cn/article/hoppsp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部