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

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

使用mysqlbinlog恢復(fù)數(shù)據(jù)具體操作

下文我給大家簡(jiǎn)單講講關(guān)于使用MySQLbinlog恢復(fù)數(shù)據(jù)具體操作,大家之前了解過(guò)相關(guān)類似主題內(nèi)容嗎?感興趣的話就一起來(lái)看看這篇文章吧,相信看完使用mysqlbinlog恢復(fù)數(shù)據(jù)具體操作對(duì)大家多少有點(diǎn)幫助吧。 

專業(yè)從事網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,高端網(wǎng)站制作設(shè)計(jì),小程序開(kāi)發(fā),網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠(chéng)服務(wù),采用H5建站+CSS3前端渲染技術(shù),響應(yīng)式網(wǎng)站,讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過(guò)程建立專項(xiàng)小組,與您實(shí)時(shí)在線互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。

一、開(kāi)啟bin-log

1、安裝mysql

[root@zhen ~]# yum -y install mysql mysql-devel mysql-server

2、開(kāi)啟bin-log功能

[root@zhen ~]# vi /etc/my.cnf
      1 [mysqld]
      2 datadir=/var/lib/mysql
      3 socket=/var/lib/mysql/mysql.sock
      4 user=mysql
      5 # Disabling symbolic-links is recommended to prevent assorted security risks
      6 symbolic-links=0
      7 log_bin=mysql_bin

配置保存之后重啟mysqld。

bin-log是執(zhí)行SQL時(shí)產(chǎn)生的日志文件,只不過(guò)該日志是二進(jìn)制。作用有兩個(gè):

①數(shù)據(jù)恢復(fù);

②配置數(shù)據(jù)庫(kù)主從,用于slave可以從master同步數(shù)據(jù)。

3、確認(rèn)是否開(kāi)啟bin-log

登錄數(shù)據(jù)庫(kù),執(zhí)行:

mysql> show variables like 'log_bin';

使用mysqlbinlog恢復(fù)數(shù)據(jù)具體操作

看到確實(shí)是開(kāi)啟的,這樣會(huì)在數(shù)據(jù)庫(kù)的datadir目錄下生成格式為mysql_bin.000001的日志文件:

使用mysqlbinlog恢復(fù)數(shù)據(jù)具體操作

二、查看產(chǎn)生的日志文件

bin-log是二進(jìn)制文件,不能用vim等文本編輯器打開(kāi)。Mysql提供了兩種方式查看,在查看之前先執(zhí)行一些SQL讓文件中有記錄。

mysql> use test;
mysql> create table students( id int(10) primary key auto_increment,name varchar(255));
mysql> insert into students (id,name) values (1,'zhangsan'),(2,'lisi');
mysql> select * from students;

第一種查看方式:mysql自帶的mysqlbinlog命令:

[root@zhen ~]# /usr/bin/mysqlbinlog /var/lib/mysql/mysql_bin.000001

以在表中插入數(shù)據(jù)為例,來(lái)看看日志的格式:

# at 248
#160711 17:29:00 server id 1  end_log_pos 373 Querythread_id=3exec_time=0error_code=0
SET TIMESTAMP=1468272540/*!*/;
insert into students (id,name) values (1,'zhangsan'),(2,'lisi')
/*!*/;

“at 248”表示這條記錄的起始位置(position)

“160711 17:29:00”表示記錄產(chǎn)生的時(shí)間

“server id 1”表示是哪個(gè)云服務(wù)器產(chǎn)生的記錄

“end_log_pos 373”表示這條記錄的終止位置

最后還能看到執(zhí)行的SQL。

可以根據(jù)記錄的起始位置和時(shí)間來(lái)恢復(fù)數(shù)據(jù)。

第二種查看方式:

mysql> show binlog events in "mysql_bin.000001";

使用mysqlbinlog恢復(fù)數(shù)據(jù)具體操作

用這種方式查看就簡(jiǎn)潔明了了。同樣也能看到記錄的起始位置,執(zhí)行的SQL等信息。

三、使用bin-log恢復(fù)數(shù)據(jù)

先把剛剛在test庫(kù)中創(chuàng)建的表students刪除掉:

mysql> drop table students;
Query OK, 0 rows affected (0.01 sec)

刪除之后來(lái)恢復(fù)這個(gè)表,有下面兩種方法:

①根據(jù)操作的時(shí)間來(lái)恢復(fù)。

使用mysqlbinlog查看日志文件,在記錄中找到創(chuàng)建這個(gè)表的時(shí)間是160711 17:24:00,最后刪除此表的時(shí)間是160711 19:10:38,利用這兩個(gè)時(shí)間點(diǎn)來(lái)恢復(fù)此表。

[root@zhen ~]# /usr/bin/mysqlbinlog --start-date="2016-07-11 17:24:00" --stop-date="2016-07-11 19:10:38" /var/lib/mysql/mysql_bin.000001 | /usr/bin/mysql -uroot -p

如果沒(méi)有設(shè)定數(shù)據(jù)庫(kù)密碼,則/usr/bin/mysql

亦可以先導(dǎo)出為sql文件,再將sql文件導(dǎo)入到數(shù)據(jù)庫(kù):

[root@zhen ~]# /usr/bin/mysqlbinlog --start-date="2016-07-11 17:24:00" --stop-date="2016-07-11 19:10:38" /var/lib/mysql/mysql_bin.000001 > /tmp/1.sql
mysql> source /tmp/1.sql;

②根據(jù)操作的起止位置來(lái)恢復(fù)。

使用mysqlbinlog恢復(fù)數(shù)據(jù)具體操作

[root@zhen ~]# /usr/bin/mysqlbinlog --start-position=106 --stop-position=373 /var/lib/mysql/mysql_bin.000001 | /usr/bin/mysql -uroot -p

四、小結(jié)

1、為了能在發(fā)生災(zāi)難時(shí)恢復(fù)數(shù)據(jù)庫(kù),要現(xiàn)在配置文件中添加log_bin=mysql_bin。“mysql_bin”是日志文件的格式,可以自定義;

2、使用“mysql> show master status;”來(lái)確定數(shù)據(jù)庫(kù)當(dāng)前使用的是哪個(gè)日志文件。

大家覺(jué)得使用mysqlbinlog恢復(fù)數(shù)據(jù)具體操作這篇文章怎么樣,是否有所收獲。如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。


網(wǎng)站標(biāo)題:使用mysqlbinlog恢復(fù)數(shù)據(jù)具體操作
網(wǎng)頁(yè)網(wǎng)址:http://weahome.cn/article/peiehd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部