明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

MYSQL日志與備份還原詳細(xì)說明

[摘要]本文主要為大家詳細(xì)介紹了MYSQL日志與備份還原問題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能幫助到大家。本文為大家分享了MYSQL的日志與備份還原,供大家參考,具體內(nèi)容如下一、錯(cuò)誤...
本文主要為大家詳細(xì)介紹了MYSQL日志與備份還原問題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能幫助到大家。

本文為大家分享了MYSQL的日志與備份還原,供大家參考,具體內(nèi)容如下

一、錯(cuò)誤日志

當(dāng)數(shù)據(jù)庫出現(xiàn)任何故障導(dǎo)致無法使用時(shí),第一時(shí)間先去查看該日志

1、服務(wù)器啟動(dòng)關(guān)閉過程中的信息

2、服務(wù)器運(yùn)行過程中的錯(cuò)誤信息

日志存放路徑,可以通過命令查看:

MYSQL日志與備份還原詳解

日志文件命名格式:host_name.err

MYSQL日志與備份還原詳解

二、二進(jìn)制日志

又稱BINLOG,記錄所有的DDL語句和DML語句,不包括查詢語句。這個(gè)日志不僅非常重要,而且作為開發(fā)人員也非常喜歡這個(gè)日志。從它的定義可以看出,這個(gè)日志記錄了所有會(huì)改變表結(jié)構(gòu)和表數(shù)據(jù)的事件,所以一旦數(shù)據(jù)被誤刪除或者因?yàn)槠渌驅(qū)е聰?shù)據(jù)丟失,我們可以通過這個(gè)日志將數(shù)據(jù)恢復(fù)。是不是覺得很炫酷。

日志存放路徑:與錯(cuò)誤日志在同一個(gè)目錄下

命名方式:默認(rèn)方式為hostname-bin + 編號(hào)

mysql每次啟動(dòng)或者flush日志時(shí)都會(huì)生成一個(gè)新的binlog,編號(hào)從1開始遞增。單個(gè)日志達(dá)到一定大小時(shí),也會(huì)生成新的文件。

1、開啟記錄binlog的開關(guān)

在myslq的安裝目錄下,有一個(gè)配置文件:my.ini

MYSQL日志與備份還原詳解


innodb_buffer_pool_size=107M

# Size of each log file in a log group. You should set the combined size
# of log files to about 25%-100% of your buffer pool size to avoid
# unneeded buffer pool flush activity on log file overwrite. However,
# note that a larger logfile size will increase the time needed for the
# recovery process.
innodb_log_file_size=54M

# Number of threads allowed inside the InnoDB kernel. The optimal value
# depends highly on the application, hardware as well as the OS
# scheduler properties. A too high value may lead to thread thrashing.
innodb_thread_concurrency=10

log-bin=mysql-bin

其中l(wèi)og-bin表示開關(guān)開啟,mysql-bin是日志名稱的前綴。

MYSQL日志與備份還原詳解

2、BINLOG的查看方式

由于是二進(jìn)制文件,所以不能像錯(cuò)誤日志那樣直接查看,需要借助mysql提供的工具:mysqlbinlog

MYSQL日志與備份還原詳解

MYSQL日志與備份還原詳解

3、按時(shí)間查看BINLOG

MYSQL日志與備份還原詳解

MYSQL日志與備份還原詳解

按時(shí)間查詢有一個(gè)需要注意的地方就是,start-datetime是閉區(qū)間,stop-datetime是開區(qū)間,所以如果需要查詢?nèi)烊罩驹,需要定義為:
--start-datetime="2017/07/12 00:00:00" --stop-datetime="2017/07/13 00:00:00":這樣查詢的時(shí)間范圍是7/12 00:00:00 - 7/12 24:59:59

三、數(shù)據(jù)備份

數(shù)據(jù)備份其實(shí)就是利用msyql提供的工具mysqldump將數(shù)據(jù)備份到指定目錄下的指定文件中。

1、備份指定的數(shù)據(jù)庫或者數(shù)據(jù)庫中的某些表

mysqldump 【option】 db_name 【table_names】

2、備份指定的一個(gè)或者多個(gè)數(shù)據(jù)庫

mysqldump 【option】 --database db_name1 db_name2

3、備份所有數(shù)據(jù)庫

mysqldump 【option】 -all -databases

將端口為3306的數(shù)據(jù)庫實(shí)例中的數(shù)據(jù)庫wd_msg中的表結(jié)構(gòu)以及表數(shù)據(jù)導(dǎo)出到cd.sql的文件中

MYSQL日志與備份還原詳解

cd.sql文件中內(nèi)容如下;

MYSQL日志與備份還原詳解

這個(gè)文件記錄的是DML語句以及DDL語句,查詢相關(guān)的操作除外。在數(shù)據(jù)恢復(fù)時(shí)就可以通過這些語句一條條執(zhí)行,從而完成數(shù)據(jù)的還原。

四、數(shù)據(jù)恢復(fù)

我們將表刪除,在重新導(dǎo)入剛剛導(dǎo)出的數(shù)據(jù):

MYSQL日志與備份還原詳解

MYSQL日志與備份還原詳解

下面的場(chǎng)景是還原同一臺(tái)服務(wù)器上另一個(gè)端口為3307的mysql實(shí)例中的wd_msg數(shù)據(jù)庫

MYSQL日志與備份還原詳解

Mysql的備份還原針對(duì)不同的場(chǎng)景有不同的選擇,這里只是介紹的其中一種概念,后面會(huì)有文章展開來詳細(xì)介紹。

相關(guān)推薦:

詳解MySQL日志系統(tǒng)詳細(xì)資料的示例代碼分享

mysql日志恢復(fù)數(shù)據(jù)方法介紹

MySQL日志設(shè)置優(yōu)化

以上就是MYSQL日志與備份還原詳解的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。