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

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

mysql數(shù)據(jù)錯誤怎么恢復(fù) mysql數(shù)據(jù)恢復(fù)

怎么恢復(fù)mysql數(shù)據(jù)庫

mysql數(shù)據(jù)庫恢復(fù)方法:

專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)任縣免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

方法一:

命令恢復(fù)數(shù)據(jù)庫:

mysql -u root –password=root密碼 數(shù)據(jù)庫名 備份文件.sql

方法二:

第一步:用管理員權(quán)限登錄并進(jìn)入后臺管理界面,點(diǎn)“數(shù)據(jù)庫-資料恢復(fù)”。

第二步:在數(shù)據(jù)恢復(fù)設(shè)置中選擇“從本地文件”進(jìn)行恢復(fù),然后通過右邊的“瀏覽”按鈕找到之前保存下來的.sql文件。

第三步:點(diǎn)“提交”按鈕后將出現(xiàn)詢問“分卷數(shù)據(jù)成功導(dǎo)入數(shù)據(jù)庫,需要自動導(dǎo)入本次其他的備份嗎?”一般繼續(xù)點(diǎn)“確定”按鈕即可。之后的數(shù)據(jù)庫文件就完全導(dǎo)入到當(dāng)前網(wǎng)站了。這時出現(xiàn)再次要求輸入管理員帳號的提示。訪問網(wǎng)站地址時也會看到所有信息都恢復(fù)到備份數(shù)據(jù)庫時的內(nèi)容了。

小提示:

不管采取哪種方式備份和恢復(fù)數(shù)據(jù)庫,一定要注意備份和恢復(fù)時使用的版本要相同,甚至是語言種類也要一致,否則會存在亂碼的問題。

怎么恢復(fù)mysql數(shù)據(jù)庫怎么恢復(fù)數(shù)據(jù)

簡單情況下:進(jìn)入原來mysql安裝路徑下的data文件夾下,找到相應(yīng)的庫和ibdata1,進(jìn)行copy,就可回復(fù)原來的數(shù)據(jù)。

復(fù)雜情況下:

從另一臺機(jī)上把MySQL數(shù)據(jù)庫的mysql文件夾拷貝到本地機(jī)上,目的是恢復(fù)本地機(jī)對數(shù)據(jù)的訪問和操作。經(jīng)過如下幾種情況的操作。

1. 在本地重裝MySQL(安裝目錄D:\Program Files\MySQL\MySQL Server 5.0),直接把mysql文件夾拷貝至D:\Program Files\MySQL\MySQL Server 5.0\。結(jié)果,失?。簲?shù)據(jù)庫連接錯誤。

2. 卸載后重裝MySQL,將D:\Program Files\MySQL\MySQL Server 5.0\下的數(shù)據(jù)備份,只把mysql\data文件夾全部內(nèi)容拷貝到D:\Program Files\MySQL\MySQL Server 5.0\data下。結(jié)果,失?。簲?shù)據(jù)庫連接錯誤。將備份的數(shù)據(jù)還完覆蓋。結(jié)果,失敗,還是連接不上數(shù)據(jù)庫。

3. 卸載后重裝MySQL,將mysql\data文件夾里的cf1,last文件夾(這兩個是原來MySQL里的數(shù)據(jù)庫)拷貝進(jìn)D:\Program Files\MySQL\MySQL Server 5.0\data。連接成功,在Navicat for MySQL里看到數(shù)據(jù)庫cf1和last,但是不能訪問,因為數(shù)據(jù)全為零。明白了原來data里以數(shù)據(jù)庫命名的文件存儲的是數(shù)據(jù)庫的表結(jié)構(gòu),不是元數(shù)據(jù)。下一步,把data文件夾里的ibdata1文件(3.4G大,明顯存儲了元數(shù)據(jù))拷貝到D:\Program Files\MySQL\MySQL Server 5.0\data里,代替原來的ibdata1文件。重啟電腦,打開Navicat for MySQL,連接成功,數(shù)據(jù)可以訪問操作。

至此,操作終于成功。其實(shí)當(dāng)初在那臺機(jī)上把數(shù)據(jù)導(dǎo)出來,而不是現(xiàn)在直接把文件夾mysql復(fù)制過來會更容易恢復(fù)。但那臺機(jī)已經(jīng)重裝了系統(tǒng),也就是說MySQL失效了。

詳解MySQL誤操作后怎樣進(jìn)行數(shù)據(jù)恢復(fù)

一、開啟binlog。

首先查看binlog是否開啟

?

1

2

3

4

5

6

7

mysql show variables like "log_bin";

+---------------+-------+

|Variable_name | Value

+---------------+-------+

| log_bin OFF

+---------------+-------+

1 row in set (0.00 sec)

值為OFF,需開啟,開啟binlog方式如下:

?

1

#vim /etc/my.cnf

在[mysqld]中加入

?

1

2

log-bin = mysql-bin

log-bin = /usr/local/mysql/log/mysql-bin.log

重啟mysql服務(wù)

?

1

2

#service mysqld stop

#service mysqld start

二、模擬數(shù)據(jù)寫入

建庫

?

1

create database backup;

建表

?

1

2

3

4

5

CREATE TABLE `number` (

`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '編號',

`updatetime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

寫入數(shù)據(jù)

程序2-1

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#coding:utf8

#python2.7

import MySQLdb

import time

def connect_mysql(db_host="192.168.11.169",user="martin",passwd="martin",db="backup",charset="utf8"):

conn = MySQLdb.connect(host=db_host,user=user,passwd=passwd,db=db,charset=charset)

conn.autocommit(True)

return conn.cursor()

#數(shù)據(jù)插入

for i in range(0,10):

#time=time.strftime("%Y-%m-%d %H:%M:%S")

sql = 'insert into number(updatetime) values(%s)'

values = [(time.strftime("%Y-%m-%d %H:%M:%S"))]

db1 = connect_mysql()

print db1.executemany(sql,values)

查詢數(shù)據(jù)

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

mysql select * from number;

+-------+------------------------+

| id | updatetime

+--------------------------------+

| 1 | 2016-06-29 23:27:15 |

| 2 | 2016-06-29 23:27:15 |

| 3 | 2016-06-29 23:27:15 |

| 4 | 2016-06-29 23:27:15 |

| 5 | 2016-06-29 23:27:15 |

| 6 | 2016-06-29 23:27:15 |

| 7 | 2016-06-29 23:27:15 |

| 8 | 2016-06-29 23:27:15 |

| 9 | 2016-06-29 23:27:15 |

| 10 | 2016-06-29 23:27:15 |

+-------+------------------------+

10 rows in set (0.00 sec)

三、全量備份

?

1

mysqldump -uroot -p -F --master-data=2 backup |gzip /martin/data/backup_$(date +%F).sql.gz

注:加-F能刷新binlog,方便恢復(fù)時操作。

四、模擬寫入增量數(shù)據(jù)

繼續(xù)執(zhí)行程序2-1。

查詢數(shù)據(jù)

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

mysql select * from number;

+----+---------------------------+

| id | updatetime |

+----+---------------------------+

| 1 | 2016-06-29 23:27:15 |

| 2 | 2016-06-29 23:27:15 |

| 3 | 2016-06-29 23:27:15 |

| 4 | 2016-06-29 23:27:15 |

| 5 | 2016-06-29 23:27:15 |

| 6 | 2016-06-29 23:27:15 |

| 7 | 2016-06-29 23:27:15 |

| 8 | 2016-06-29 23:27:15 |

| 9 | 2016-06-29 23:27:15 |

| 10 | 2016-06-29 23:27:15 |

| 11 | 2016-06-29 23:31:03 |

| 12 | 2016-06-29 23:31:03 |

| 13 | 2016-06-29 23:31:03 |

| 14 | 2016-06-29 23:31:03 |

| 15 | 2016-06-29 23:31:03 |

| 16 | 2016-06-29 23:31:03 |

| 17 | 2016-06-29 23:31:03 |

| 18 | 2016-06-29 23:31:03 |

| 19 | 2016-06-29 23:31:03 |

| 20 | 2016-06-29 23:31:03 |

+-------+---------------------+

20 rows in set (0.00 sec)

五、增量備份

保留mysql-bin.000002及之后的binlog即可。

六、模擬誤操作

?

1

delete from number;

七、再次寫入增量數(shù)據(jù)

執(zhí)行程序2-1

select * from bumber;

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

+------+------------------------+

| id | updatetime |

+------+------------------------+

| 21 | 2016-06-29 23:41:06 |

| 22 | 2016-06-29 23:41:06 |

| 23 | 2016-06-29 23:41:06 |

| 24 | 2016-06-29 23:41:06 |

| 25 | 2016-06-29 23:41:06 |

| 26 | 2016-06-29 23:41:06 |

| 27 | 2016-06-29 23:41:06 |

| 28 | 2016-06-29 23:41:06 |

| 29 | 2016-06-29 23:41:06 |

| 30 | 2016-06-29 23:41:06 |

+------+------------------------+

10 rows in set (0.00 sec)

八、恢復(fù)

此時發(fā)現(xiàn)之前的delete操作為誤操作,急需恢復(fù),恢復(fù)過程如下

給該表加上讀鎖

?

1

lock table number read;

將全量備份的數(shù)據(jù)導(dǎo)入

?

1

2

3

4

#cd /martin/data/

#gzip -d number_2016-06-29.sql.gz

#grep -i "change" *.sql

-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=107;

刷新日志

?

1

2

3

4

5

6

#mysqladmin -uroot -p'martin' flush-logs

#cd /usr/local/mysql/log

#ls|grep mysql-bin|grep -v index

mysql-bin.000001

mysql-bin.000002

mysql-bin.000003

可確定mysql-bin.000002為增量數(shù)據(jù)binlog

導(dǎo)入全量備份

?

1

2

3

4

5

#cd /martin/data/

#mysql -uroot -p backup number_2016-06-29.sql

#cp /usr/local/mysql/log/mysql-bin.000002 /martin/data/

#mysqlbinlog mysql-bin.000002 bin.sql

#vim bin.sql

在bin.sql找到之前的delete語句,刪除

?

1

mysql -uroot -p bin.sql

九、確認(rèn)已恢復(fù)數(shù)據(jù)

登錄mysql

?

1

2

#mysql -uroot -p'martin' backup

select * from number;

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

+----+---------------------+

| id | updatetime |

+----+---------------------+

| 1 | 2016-06-29 23:27:15 |

| 2 | 2016-06-29 23:27:15 |

| 3 | 2016-06-29 23:27:15 |

| 4 | 2016-06-29 23:27:15 |

| 5 | 2016-06-29 23:27:15 |

| 6 | 2016-06-29 23:27:15 |

| 7 | 2016-06-29 23:27:15 |

| 8 | 2016-06-29 23:27:15 |

| 9 | 2016-06-29 23:27:15 |

| 10 | 2016-06-29 23:27:15 |

| 11 | 2016-06-29 23:31:03 |

| 12 | 2016-06-29 23:31:03 |

| 13 | 2016-06-29 23:31:03 |

| 14 | 2016-06-29 23:31:03 |

| 15 | 2016-06-29 23:31:03 |

| 16 | 2016-06-29 23:31:03 |

| 17 | 2016-06-29 23:31:03 |

| 18 | 2016-06-29 23:31:03 |

| 19 | 2016-06-29 23:31:03 |

| 20 | 2016-06-29 23:31:03 |

| 21 | 2016-06-29 23:41:06 |

| 22 | 2016-06-29 23:41:06 |

| 23 | 2016-06-29 23:41:06 |

| 24 | 2016-06-29 23:41:06 |

| 25 | 2016-06-29 23:41:06 |

| 26 | 2016-06-29 23:41:06 |

| 27 | 2016-06-29 23:41:06 |

| 28 | 2016-06-29 23:41:06 |

| 29 | 2016-06-29 23:41:06 |

| 30 | 2016-06-29 23:41:06 |

+----+---------------------+

30 rows in set (0.00 sec)

恢復(fù)完成

mysql數(shù)據(jù)庫錯誤刪除了怎么恢復(fù)數(shù)據(jù)

如果你要恢復(fù)的數(shù)據(jù)庫是包含授權(quán)表的mysql數(shù)據(jù)庫,您將需要使用--skip贈款-tables選項來運(yùn)行服務(wù)器恢復(fù)整個數(shù)據(jù)庫-否則,服務(wù)器會抱怨不能找到授權(quán)表。

恢復(fù)表后,執(zhí)行mysqladmin沖水privileges告訴服務(wù)器裝載授權(quán)表,并用它們來啟動。

數(shù)據(jù)庫目錄到其他地方的原始內(nèi)容復(fù)制。


新聞名稱:mysql數(shù)據(jù)錯誤怎么恢復(fù) mysql數(shù)據(jù)恢復(fù)
文章出自:http://weahome.cn/article/doseiej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部