国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL中的binlog相關命令和恢復技巧

2024-07-24 12:47:23
字體:
來源:轉載
供稿:網友

操作命令:

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

reset master 刪除所有的二進制日志
flush logs  產生一個新的binlog日志文件

show master logs; 或者 show binary logs; 查看二進制文件列表和文件大小

復制代碼 代碼如下:

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

2. 要想通過日志恢復數據庫,在你的 my.cnf 文件里應該有如下的定義,log-bin=mysql-bin,這個是必須的
binlog-do-db=db_test ,這個是指定哪些數據庫需要日志,每行一個,如果不指定的話默認就是所有數據庫.

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

3.刪除二進制日志:

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

在my.cnf 配置文件中[mysqld]中添加:
復制代碼 代碼如下:
expire_logs_day=3  設置日志的過期天數,過了指定的天數,會自動刪除

4.下面就是恢復操作了
 特別提示,mysql每次啟動都會重新生成一個類似 mysql-bin.000003 的文件,如果你的mysql每天都要重新啟動一次的話,這時候你就要特別注意不要選錯日志文件了。

技巧1:
你可以通過–one-database 參數選擇性的恢復單個數據庫,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:
如果已經使用過
/usr/local/mysql5/bin/mysqlbinlog –start-date="005-04-20 9:55:00" /var/data/mysql5/mysql-bin.0* > /home/db/tt.sql 類似的語句將日志導成了ASCII文本文件,那么你就可以直接在phpmyadmin里執行這個文件,因為它本身就是一個標準的sql文件,比如想讓文件里面的某些語句不執行,找到它們刪除即可,然后再放進去執行。

技巧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這個二進制文件里的內容轉換成ASCII文件(也就是sql語句),直接通過管道操作符 | 傳輸給 mysql這個程序,然后過濾掉其它數據庫的語句,只在db_test里執行。

要想確定當前的二進制日志文件的文件名,輸入下面的MySQL語句:

復制代碼 代碼如下:
SHOW BINLOG EVENTS

1. 指定恢復時間

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 库伦旗| 远安县| 荔浦县| 上杭县| 万源市| 龙川县| 确山县| 吉安县| 甘泉县| 黔江区| 齐齐哈尔市| 永州市| 江孜县| 突泉县| 双鸭山市| 沈阳市| 得荣县| 惠水县| 那坡县| 贵南县| 景宁| 澄江县| 海门市| 女性| 东安县| 西昌市| 平利县| 屯门区| 长沙县| 深泽县| 彭泽县| 巢湖市| 永善县| 舞阳县| 铅山县| 莱阳市| 靖州| 高平市| 鄄城县| 永吉县| 墨竹工卡县|