最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中的binlog相關(guān)命令和恢復(fù)技巧

 更新時(shí)間:2014年05月13日 09:43:13   作者:  
這篇文章主要介紹了MySQL中的binlog相關(guān)命令和恢復(fù)技巧,需要的朋友可以參考下

操作命令:

復(fù)制代碼 代碼如下:
show binlog events in 'mysql-bin.000016' limit 10;

reset master 刪除所有的二進(jìn)制日志
flush logs  產(chǎn)生一個(gè)新的binlog日志文件

show master logs; 或者 show binary logs; 查看二進(jìn)制文件列表和文件大小

復(fù)制代碼 代碼如下:

./mysqlbinlog --start-datetime="2012-05-21 15:30:00" --stop-datetime="2012-05-21 16:40:00" /binlog/mysql-bin.000005 > a.log

2. 要想通過(guò)日志恢復(fù)數(shù)據(jù)庫(kù),在你的 my.cnf 文件里應(yīng)該有如下的定義,log-bin=mysql-bin,這個(gè)是必須的
binlog-do-db=db_test ,這個(gè)是指定哪些數(shù)據(jù)庫(kù)需要日志,每行一個(gè),如果不指定的話默認(rèn)就是所有數(shù)據(jù)庫(kù).

復(fù)制代碼 代碼如下:
[mysqld]
 log-bin=mysql-bin
 binlog-do-db=db_test
 binlog-do-db=db_test2 
    

3.刪除二進(jìn)制日志:

復(fù)制代碼 代碼如下:
mysql> reset master  (清空所有的二進(jìn)制日志文件)
purge master logs to 'mysql-bin.000006';  (刪除mysql-bin.000006之前的二進(jìn)制日志文件)
purge master logs before '2007-08-10 04:07:00'  (刪除該日期之前的日志)

在my.cnf 配置文件中[mysqld]中添加:
復(fù)制代碼 代碼如下:
expire_logs_day=3  設(shè)置日志的過(guò)期天數(shù),過(guò)了指定的天數(shù),會(huì)自動(dòng)刪除

4.下面就是恢復(fù)操作了
 特別提示,mysql每次啟動(dòng)都會(huì)重新生成一個(gè)類似 mysql-bin.000003 的文件,如果你的mysql每天都要重新啟動(dòng)一次的話,這時(shí)候你就要特別注意不要選錯(cuò)日志文件了。

技巧1:
你可以通過(guò)–one-database 參數(shù)選擇性的恢復(fù)單個(gè)數(shù)據(jù)庫(kù),example在下面,爽吧。
mysqlbinlog –stop-date="2005-04-20 9:59:59" /var/log/mysql/mysql-bin.000001  | mysql -u root -pmypwd –one-database db_test

技巧2:
如果已經(jīng)使用過(guò)
/usr/local/mysql5/bin/mysqlbinlog –start-date="005-04-20 9:55:00" /var/data/mysql5/mysql-bin.0* > /home/db/tt.sql 類似的語(yǔ)句將日志導(dǎo)成了ASCII文本文件,那么你就可以直接在phpmyadmin里執(zhí)行這個(gè)文件,因?yàn)樗旧砭褪且粋€(gè)標(biāo)準(zhǔn)的sql文件,比如想讓文件里面的某些語(yǔ)句不執(zhí)行,找到它們刪除即可,然后再放進(jìn)去執(zhí)行。

技巧3:
mysqlbinlog –stop-date="2005-04-20 9:59:59" /var/log/mysql/mysql-bin.000001  | mysql -u root -pmypwd –one-database db_test
這是把mysql-bin.000001這個(gè)二進(jìn)制文件里的內(nèi)容轉(zhuǎn)換成ASCII文件(也就是sql語(yǔ)句),直接通過(guò)管道操作符 | 傳輸給 mysql這個(gè)程序,然后過(guò)濾掉其它數(shù)據(jù)庫(kù)的語(yǔ)句,只在db_test里執(zhí)行。

要想確定當(dāng)前的二進(jìn)制日志文件的文件名,輸入下面的MySQL語(yǔ)句:

復(fù)制代碼 代碼如下:
SHOW BINLOG EVENTS

1. 指定恢復(fù)時(shí)間
對(duì)于MySQL 4.1.4,可以在 mysqlbinlog 語(yǔ)句中通過(guò) –start-date 和 –stop-date 選項(xiàng)指定DATETIME格式的起止時(shí)間。舉例說(shuō)明,假設(shè)在今天上午10:00(今天是2005年4月20日),執(zhí)行SQL語(yǔ)句來(lái)刪除一個(gè)大表。要想恢復(fù)表和數(shù)據(jù),你可以恢復(fù)前晚上的備份,并輸入:

復(fù)制代碼 代碼如下:
mysqlbinlog –stop-date="2005-04-20 9:59:59" /var/log/mysql/mysql-bin.000001  | mysql -u root -pmypwd

該命令將恢復(fù)截止到在 –stop-date 選項(xiàng)中以DATETIME格式給出的日期和時(shí)間的所有數(shù)據(jù)。如果你沒(méi)有檢測(cè)到幾個(gè)小時(shí)后輸入的錯(cuò)誤的SQL語(yǔ)句,可能你想要恢復(fù)后面發(fā)生的活動(dòng)。根據(jù)這些,你可以用起使日期和時(shí)間再次運(yùn)行mysqlbinlog:

復(fù)制代碼 代碼如下:
mysqlbinlog –start-date="2005-04-20 10:01:00" /var/log/mysql/mysql-bin.000001  | mysql -u root -pmypwd

2. 指定恢復(fù)位置
也可以使用mysqlbinlog的選項(xiàng) –start-position 和 –stop-position 來(lái)指定日志位置。它們的作用與起止日選項(xiàng)相同,不同的是給出了從日志起的位置號(hào)。使用日志位置是更準(zhǔn)確的恢復(fù)方法,特別是當(dāng)由于破壞性SQL語(yǔ)句同時(shí)發(fā)生許多事務(wù)的時(shí)候。要想確定位置號(hào),可以運(yùn)行mysqlbinlog尋找執(zhí)行了不期望的事務(wù)的時(shí)間范圍,但應(yīng)將結(jié)果重新指向文本文件以便進(jìn)行檢查。操作方法為:

復(fù)制代碼 代碼如下:
mysqlbinlog –start-date="2005-04-20" –stop-date="2005-04-20" /var/log/mysql/mysql-bin.000001 > /tmp/mysql_restore.sql

該命令將在/tmp目錄創(chuàng)建小的文本文件,將顯示執(zhí)行了錯(cuò)誤的SQL語(yǔ)句時(shí)的SQL語(yǔ)句。你可以用文本編輯器打開(kāi)該文件,尋找你不要想重復(fù)的語(yǔ)句。如果二進(jìn)制日志中的位置號(hào)用于停止和繼續(xù)恢復(fù)操作,應(yīng)進(jìn)行注釋。用log_pos加一個(gè)數(shù)字來(lái)標(biāo)記位置。使用位置號(hào)恢復(fù)了以前的備份文件后,你應(yīng)從命令行輸入下面內(nèi)容:

復(fù)制代碼 代碼如下:

mysqlbinlog –stop-position="368312" /var/log/mysql/mysql-bin.000001 | mysql -u root -pmypwd
mysqlbinlog –start-position="368315"/var/log/mysql/mysql-bin.000001 | mysql -u root -pmypwd

上面的第1行將恢復(fù)到停止位置為止的所有事務(wù)。下一行將恢復(fù)從給定的起始位置直到二進(jìn)制日志結(jié)束的所有事務(wù)。因?yàn)閙ysqlbinlog的輸出包括每個(gè)SQL語(yǔ)句記錄之前的SET TIMESTAMP語(yǔ)句,恢復(fù)的數(shù)據(jù)和相關(guān)MySQL日志將反應(yīng)事務(wù)執(zhí)行的原時(shí)間。

相關(guān)文章

  • 詳解SQL注入--安全(二)

    詳解SQL注入--安全(二)

    這篇文章主要介紹了SQL注入安全,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Navicat如何查看并導(dǎo)出ER圖

    Navicat如何查看并導(dǎo)出ER圖

    文章主要介紹了使用Navicat查看和導(dǎo)出數(shù)據(jù)庫(kù)的ER圖的方法,包括在數(shù)據(jù)庫(kù)表右下角選擇ER圖表查看數(shù)據(jù)庫(kù)結(jié)構(gòu),以及通過(guò)逆向工程導(dǎo)出ER圖文件為PDF、PNG或SVG格式,并分享了一個(gè)導(dǎo)出的ER圖示例
    2026-04-04
  • mysql中截取字符串的6個(gè)函數(shù)講解

    mysql中截取字符串的6個(gè)函數(shù)講解

    這篇文章主要介紹了mysql中截取字符串的6個(gè)函數(shù)講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • mysql修改自增長(zhǎng)主鍵int類型為char類型示例

    mysql修改自增長(zhǎng)主鍵int類型為char類型示例

    這篇文章主要介紹了mysql修改自增長(zhǎng)主鍵int類型為char類型示例,需要的朋友可以參考下
    2015-04-04
  • Oracle與MySQL的區(qū)別詳解

    Oracle與MySQL的區(qū)別詳解

    MySQL和Oracle Database都是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),本文主要介紹了MySQL和Oracle Database的區(qū)別及優(yōu)缺點(diǎn)是什么,感興趣的小伙伴歡迎閱讀
    2023-04-04
  • MySQL主從延遲問(wèn)題解決

    MySQL主從延遲問(wèn)題解決

    這篇文章主要介紹了MySQL主從延遲問(wèn)題解決的方法,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2021-01-01
  • 云服務(wù)器Ubuntu_Server_16.04.1安裝MySQL并開(kāi)啟遠(yuǎn)程連接的方法

    云服務(wù)器Ubuntu_Server_16.04.1安裝MySQL并開(kāi)啟遠(yuǎn)程連接的方法

    這篇文章主要介紹了云服務(wù)器Ubuntu_Server_16.04.1安裝MySQL并開(kāi)啟遠(yuǎn)程連接的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • mysql cmd常用命令

    mysql cmd常用命令

    mysql cmd常用命令,偶爾需要命令行執(zhí)行mysql的朋友可以參考下。
    2011-05-05
  • MySQL復(fù)制機(jī)制原理講解

    MySQL復(fù)制機(jī)制原理講解

    在本篇文章中小編通過(guò)詼諧幽默的語(yǔ)言圖文給大家講述了MySQL復(fù)制機(jī)制的原理及相關(guān)知識(shí)點(diǎn),需要的朋友們參考下。
    2019-05-05
  • 解決Mysql 8.0.17 winx64版本安裝過(guò)程中遇到的問(wèn)題

    解決Mysql 8.0.17 winx64版本安裝過(guò)程中遇到的問(wèn)題

    這篇文章主要介紹了Mysql 8.0.17 winx64版本安裝過(guò)程中遇到的問(wèn)題 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08

最新評(píng)論

万源市| 府谷县| 福安市| 乐清市| 沙洋县| 中方县| 柳江县| 徐闻县| 尤溪县| 中牟县| 县级市| 宝清县| 鄂温| 新和县| 青阳县| 孟连| 右玉县| 吕梁市| 潮安县| 周口市| 耿马| 竹山县| 湘西| 汽车| 安塞县| 拉萨市| 五指山市| 北票市| 娄底市| 紫云| 罗甸县| 米泉市| 重庆市| 华蓥市| 洛南县| 寿阳县| 定南县| 宁蒗| 屯留县| 五指山市| 江津市|