欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Windows環(huán)境MySQL全量備份+增量備份的實現(xiàn)

 更新時間:2024年08月15日 09:34:04   作者:十香千鶴  
本文主要介紹了Windows環(huán)境MySQL全量備份+增量備份的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

環(huán)境準(zhǔn)備

1.1.安裝MySQL

在進(jìn)行MySQL數(shù)據(jù)庫備份和還原操作時,必須先提前安裝好MySQL環(huán)境,且MySQL服務(wù)已成功開啟

如果沒有安裝MySQL環(huán)境,可以參考博客:http://www.dbjr.com.cn/database/3069340t1.htm

如果已成功安裝MySQL環(huán)境,打開運行窗口,輸入:services.msc打開Windows服務(wù)窗口,查看MySQL是否處于開啟狀態(tài)

如果服務(wù)開啟失敗可以將MySQL安裝目錄下的data目錄刪除,然后進(jìn)行重新安裝,安裝步驟可以參考上面的博客

1.2.添加log-bin日志配置

找到自己MySQL安裝目錄下的my.ini配置文件

打開my.ini配置文件,并在my.ini文件中的[mysqld]下面添加一行

log-bin=mysql-bin
server-id=1
binlog_format=MIXED

添加完成之后重啟MySQL服務(wù),會在MySQL安裝目錄的data目錄下生成一個mysql-bin.000001日志文件

【注】

mysql-bin.00000X日志文件用于后面進(jìn)行數(shù)據(jù)庫增量還原操作

1.3.查看是否已經(jīng)開啟二進(jìn)制日志,執(zhí)行如下命令查看log-bin是否開啟,若狀態(tài)為ON,則表示已正常開啟

show variables like 'log_bin';

二、創(chuàng)建測試數(shù)據(jù)庫和表

2.1.創(chuàng)建測試數(shù)據(jù)庫

使用Navicat或者其他數(shù)據(jù)庫管理工具登錄MySQL

-- 創(chuàng)建數(shù)據(jù)庫如果不存在db_blbl,默認(rèn)字符集為utf8,校對規(guī)則為utf8_general_ci
create database if not exists db_blbl default charset utf8 collate utf8_general_ci;

可以在Navicat的左分區(qū)查看創(chuàng)建好的數(shù)據(jù)庫也可以在MySQL安裝目錄下的data里面查看

創(chuàng)建好db_blbl數(shù)據(jù)庫后,要使用這個數(shù)據(jù)庫,則執(zhí)行命令

-- 切換數(shù)據(jù)庫
use db_blbl

或者在Navicat中的查詢窗口運行旁邊有一個下拉框也可以手動選擇切換數(shù)據(jù)庫

2.2.創(chuàng)建測試數(shù)據(jù)表

輸入如下命令,創(chuàng)建一個t_student學(xué)生表

create table t_student
(
   sid                  int not null comment '學(xué)號',
   sname                varchar(60) not null comment '姓名',
   sex                  tinyint not null default 1 comment '性別:1男, 2女',
   age                  tinyint not null comment ' 年齡',
   icard                varchar(18) not null comment '身份證,唯一約束',
   primary key (sid),
   unique key AK_Key_2 (icard)
) comment '學(xué)生信息表';

執(zhí)行以下代碼命令,往t_student學(xué)生表中插入數(shù)據(jù)

insert into t_student values(1,'張學(xué)友',1,36,'1234567891011');
insert into t_student values(2,'劉德華',1,39,'1234567891011');

執(zhí)行完成后可以執(zhí)行查詢語句查看此時表中有兩條數(shù)據(jù)

-- 查詢t_student
select * from t_student

三、全量備份恢復(fù)數(shù)據(jù)庫

3.1.全量備份數(shù)據(jù)庫

打開cmd窗口,cd進(jìn)入到MySQL安裝目錄的bin目錄下

在bin目錄下執(zhí)行如下命令,將剛才創(chuàng)建的db_blbl數(shù)據(jù)庫進(jìn)行全量備份操作

mysqldump --opt --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE -u root --password=mysql.com db_blbl t_student > "C:\beifen.sql"

說明:

  • host=127.0.0.1就是你要備份的數(shù)據(jù)庫IP地址
  • port=3306數(shù)據(jù)庫端口號
  • "C:\beifen.sql"將db_blbl數(shù)據(jù)庫全量備份到C盤根目錄下,取名叫beifen.sql
  • db_blbl t_student 就是你要備份的數(shù)據(jù)庫名和表名,可以對db_blbl進(jìn)行全庫備份,也可以單獨對t_student表進(jìn)行全量備份

注意:

備份的盤符一定要和MySQL安裝目錄在同一個盤符中,要不然會提示:拒絕訪問

備份不需要的表操作

可以在上面代碼表的位置加上--ignore-table=數(shù)據(jù)庫名.表名

-- 實例
mysqldump --opt --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE -u root --password=mysql.com db_blbl --ignore-table=db_blbl._t_student> "C:\beifen.sql"

備份完成后,會自動在對應(yīng)目錄下生成一個sql文件,可以前往對應(yīng)目錄查看全量備份的數(shù)據(jù)庫

我們可以將上述步驟封裝到一個.bat批處理腳本文件中,然后雙擊運行該批處理文件即可執(zhí)行全量備份數(shù)據(jù)庫

全量備份數(shù)據(jù)庫腳本如下

rem Auther By Anker
rem date:202435
rem ******Backup MySQL Start******
@echo off
::設(shè)置時間變量
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"
 
::創(chuàng)建存儲的文件夾
if not exist "C:\mysql_backup" md "C:\mysql_backup"
 
::執(zhí)行備份操作
"C:\Program Files\mysql-5.7.23-winx64\mysql-5.7.23-winx64\bin\mysqldump" --opt --user=root --password=mysql.com --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "db_blbl" >C:\beifen_%Ymd%.sql
 
::刪除90天前的備份數(shù)據(jù)
forfiles /p "C:\mysql_backup" /m backup_*.sql -d -90 /c "cmd /c del /f @path"
 
@echo on
rem ******Backup MySQL End******

3.2全量恢復(fù)數(shù)據(jù)庫 

先將事先創(chuàng)建好的db_blbl數(shù)據(jù)庫刪除

-- 刪除數(shù)據(jù)庫db_blbl
drop database db_blbl;

我執(zhí)行的是drop命令,相當(dāng)于將數(shù)據(jù)庫數(shù)據(jù)和結(jié)構(gòu)全部刪除了,此時需要重新將數(shù)據(jù)庫結(jié)構(gòu)給創(chuàng)建出來,才能執(zhí)行還原恢復(fù)操作。所以,再次執(zhí)行創(chuàng)建數(shù)據(jù)庫命令

-- 創(chuàng)建數(shù)據(jù)庫如果不存在db_blbl,默認(rèn)字符集為utf8,校對規(guī)則為utf8_general_ci
create database if not exists db_blbl default charset utf8 collate utf8_general_ci;

然后再使用管理員方式打開命令行切換到這個db_blbl數(shù)據(jù)庫,即use db_blbl

-- 切換數(shù)據(jù)庫
use db_blbl

執(zhí)行以下命令恢復(fù)被刪除的db_blbl數(shù)據(jù)庫

source C:\beifen.sql

查詢t_student表,會發(fā)現(xiàn)之前的t_student表數(shù)據(jù)又回來了 

-- 查詢t_student
select * from t_student

四、增量備份恢復(fù)數(shù)據(jù)庫

4.1.增量備份數(shù)據(jù)庫

往t_student學(xué)生表中再插入2條數(shù)據(jù)

查詢命令查詢t_student表,此時會發(fā)現(xiàn)又多了2條數(shù)據(jù)

-- 查詢t_student
select * from t_student

執(zhí)行truncate t_student;命令,刪除t_student學(xué)生表里面的數(shù)據(jù)

【注意】

如果執(zhí)行drop t_student;命令的話,則整個t_student表結(jié)構(gòu)和數(shù)據(jù)都被刪除了,此時只有通過全量進(jìn)行恢復(fù)了

truncate t_student;

再次執(zhí)行查詢命令查詢t_student表,會發(fā)現(xiàn)t_student表中已經(jīng)無數(shù)據(jù)了

-- 查詢t_student
select * from t_student

我們可以將備份操作封裝到一個.bat批處理腳本文件中,然后雙擊運行該批處理文件即可執(zhí)行增量備份數(shù)據(jù)庫,
增量備份數(shù)據(jù)庫腳本如下

rem Auther By Anker
rem date:202435
rem ******Backup MySQL Start******
@echo off
::設(shè)置時間變量
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"
 
::執(zhí)行增量備份操作
mysqladmin -u root -p mysql.com flush-logs
 
@echo on
rem ******Backup MySQL End******

【注意】

要根據(jù)自己的實際設(shè)置來配置這個腳本文件

4.2.增量恢復(fù)數(shù)據(jù)庫 

執(zhí)行增量恢復(fù)之前,需要先執(zhí)行一次全量恢復(fù),將數(shù)據(jù)庫數(shù)據(jù)還原到之前最新的某個時間段的數(shù)據(jù),即執(zhí)行命令:source C:\beifen.sql

再次執(zhí)行查詢命令查詢t_student表,會發(fā)現(xiàn)之前的t_student表數(shù)據(jù)又回來了,但是表中的數(shù)據(jù)只有張學(xué)友、劉德華,并沒有后來新增的郭富城、王八

-- 查詢t_student
select * from t_student

要想把后來新增的郭富城、王八數(shù)據(jù)還原回來,則需要用到bin-log文件了。即在mysql環(huán)境下運行如下命令

show binlog events in 'mysql-bin.000001';

查看binlog內(nèi)容記錄下的郭富城這條數(shù)據(jù)的開始位置和結(jié)束位置

在MySQL安裝目錄的data目錄下執(zhí)行如下命令,即可將data目錄下需要備份的bin-log文件轉(zhuǎn)換成sql文件

mysqlbinlog --no-defaults mysql-bin.000001 --start-position=4157--stop-position=4034> C:\zengliang.sql

此時會發(fā)現(xiàn)C盤自動生成一個zengliang.sql文件

執(zhí)行如下命令,還原被刪除的郭富城

source C://zengliang.sql;

再次執(zhí)行查詢命令查詢t_student表,會發(fā)現(xiàn)之前的t_student表數(shù)據(jù)郭富城這條數(shù)據(jù)又回來了

-- 查詢t_student
select * from t_student

 五、定時執(zhí)行備份任務(wù)

5.1.任務(wù)計劃程序 

在控制面板程序搜索列表中搜索“計劃任務(wù)”,并打開

打開任務(wù)計劃程序后,點擊右側(cè)的“創(chuàng)建基本任務(wù)”,并對計劃任務(wù)的名稱和描述進(jìn)行編寫

任意取一個名稱,點擊下一步

根據(jù)自己需要,點擊選擇定時執(zhí)行的周期,點擊下一步

設(shè)置所需要執(zhí)行的時間,點擊下一步

選擇啟動程序,并點擊下一步

瀏覽選擇編寫完成的備份腳本文件,點擊下一步

確認(rèn)信息無誤后點擊完成

定時任務(wù)創(chuàng)建好后,可在任務(wù)列表中看到我們所創(chuàng)建的任務(wù),可以通過右鍵該條任務(wù)進(jìn)行刪除等處理

【最后】

增量備份二進(jìn)制日志建議每天刷新一次。這確保了數(shù)據(jù)庫備份的頻率足夠高,以最小化數(shù)據(jù)丟失的風(fēng)險。通過每天刷新增量備份,可以更有效地管理數(shù)據(jù)庫的變化,并在需要時還原到最新的狀態(tài)。

到此這篇關(guān)于Windows環(huán)境MySQL全量備份+增量備份的實現(xiàn)的文章就介紹到這了,更多相關(guān)MySQL全量備份+增量備份內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql優(yōu)化limit查詢語句的5個方法

    mysql優(yōu)化limit查詢語句的5個方法

    這篇文章主要介紹了mysql優(yōu)化limit查詢語句的5個方法,它們分別是子查詢優(yōu)化法、倒排表優(yōu)化法、反向查找優(yōu)化法、limit限制優(yōu)化法和只查索引法,需要的朋友可以參考下
    2014-07-07
  • Mysql事項,視圖,函數(shù),觸發(fā)器命令(詳解)

    Mysql事項,視圖,函數(shù),觸發(fā)器命令(詳解)

    下面小編就為大家?guī)硪黄狹ysql事項,視圖,函數(shù),觸發(fā)器命令(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • Mysql、Oracle中常用的多表修改語句總結(jié)

    Mysql、Oracle中常用的多表修改語句總結(jié)

    這篇文章主要給大家介紹了關(guān)于Mysql、Oracle中常用的多表修改語句的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • mysql完整性約束實例詳解

    mysql完整性約束實例詳解

    這篇文章主要介紹了mysql完整性約束,結(jié)合實例形式詳細(xì)分析了mysql完整性約束的原理、使用方法與操作注意事項,需要的朋友可以參考下
    2020-01-01
  • mysql 觸發(fā)器語法與應(yīng)用示例

    mysql 觸發(fā)器語法與應(yīng)用示例

    這篇文章主要介紹了mysql 觸發(fā)器語法與應(yīng)用,結(jié)合實例形式詳細(xì)分析了mysql 觸發(fā)器的基本語法與插入、更細(xì)、刪除等相關(guān)操作技巧,需要的朋友可以參考下
    2020-05-05
  • MySQL存儲過程的概念與用法實例

    MySQL存儲過程的概念與用法實例

    我們常用的操作數(shù)據(jù)庫語言SQL語句在執(zhí)行的時候需要要先編譯,然后執(zhí)行,而存儲過程(Stored Procedure)是一組為了完成特定功能的SQL語句集,下面這篇文章主要給大家介紹了關(guān)于MySQL存儲過程的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • MySQL建表和增添改查操作代碼

    MySQL建表和增添改查操作代碼

    這篇文章主要介紹了MySQL建表和增添改查操作代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • MySQL觸發(fā)器的使用和優(yōu)缺點介紹

    MySQL觸發(fā)器的使用和優(yōu)缺點介紹

    大家好,本篇文章主要講的是MySQL觸發(fā)器的使用和優(yōu)缺點介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下哦,方便下次瀏覽
    2021-12-12
  • mysql如何讀寫分離監(jiān)控

    mysql如何讀寫分離監(jiān)控

    本文介紹了如何通過Zookeeper對Mycat節(jié)點進(jìn)行管理和監(jiān)控的詳細(xì)步驟,首先通過tar命令安裝Zookeeper,并配置相關(guān)文件,接著介紹了如何安裝和配置Mycat-web,包括修改配置文件中的IP地址和解決內(nèi)存不足問題
    2024-11-11
  • mysql 遞歸查找菜單節(jié)點的所有子節(jié)點的方法

    mysql 遞歸查找菜單節(jié)點的所有子節(jié)點的方法

    這篇文章主要介紹了mysql 遞歸查找菜單節(jié)點的所有子節(jié)點,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評論