欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mysql備份后怎么恢復(fù),mysql數(shù)據(jù)庫的備份和恢復(fù)常用方法

mysql用mysqldump命令備份之后不能正確還原

通用規(guī)律只有使用 --all-databases (-A) 會 ERROR 1356,那就看看他到底備份了什么東西。于是喊上同事一起 less 看了下,上下掃了兩眼。突然發(fā)現(xiàn):1. 備份 SQL 文件里 DROP 掉了 mysql.proc;2. 后CREATE了一個新的 mysql.proc;3. LOCK TABLES 和 UNLOCK TABLES 中間居然沒有備份 CREATE ROUTINE 任何數(shù)據(jù)?這不就是相當(dāng)于每次導(dǎo)入全備都給我一個沒有任何 sys schema routines 的全新 mysql.proc 表?那這不就異常的尷尬?

成都創(chuàng)新互聯(lián)公司是一家專注于做網(wǎng)站、成都網(wǎng)站設(shè)計與策劃設(shè)計,昌平網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:昌平等地區(qū)。昌平做網(wǎng)站價格咨詢:18980820575

---- Table structure for table `proc`--

---- Dumping data for table `proc`-

真相大白在官方文檔【sys-schema-usage】官方文檔明確的告訴我們不會備份 sys 庫。但在使用 mysqldump 在執(zhí)行 --all-databases 會清空 mysql.proc 導(dǎo)致 sys 無法正常使用;這是一個 BUG,并且只存在于 MySQL 5.7.x !

1、mysql_upgrade install or upgrade sys schema

這個方案適用于 sys 庫已經(jīng)因為 mysqldump 導(dǎo)入而損壞的情況下使用。

注意:mysql_upgrade 在修理 sys 庫的同時,還修理 mysql 庫和用戶庫表(期間加鎖且速度一般),有極小可能會誤傷;使用 mysql_upgrade 的時候要加上 --upgrade-system-tables,不然會掃描用戶庫表。

2、全備時同時備份 sys 庫

這個方案適用于需要還原的數(shù)據(jù)庫,sys 庫也不太正常的情況下使用;在全備后額外再備份一份 sys 庫用于修復(fù)。

注意:不適用于做主從時使用它。

3、使用 databases 全備

這個方案適用于所有場景的全備需求,100% 安全。

4、使用 mysql-sys 開源代碼

如果你的數(shù)據(jù)庫 sys 全部中招了,又是生產(chǎn)庫。那你只能用這個方法;

mysql-sys:

中記錄了 sys 庫的創(chuàng)建語句將文件下載到本地,然后根據(jù)數(shù)據(jù)庫版本,執(zhí)行以下命令即可。

mysql數(shù)據(jù)庫備份和還原

MySQL數(shù)據(jù)庫備份與還原

備份和恢復(fù)數(shù)據(jù)

生成SQL腳本

在控制臺使用mysqldump命令可以用來生成指定數(shù)據(jù)庫的腳本文本,但要注意,腳本文本中只包含數(shù)據(jù)庫的內(nèi)容,而不會存在創(chuàng)建數(shù)據(jù)庫的語句!所以在恢復(fù)數(shù)據(jù)時,還需要自已手動創(chuàng)建一個數(shù)據(jù)庫之后再去恢復(fù)數(shù)據(jù)。

mysqldump –u用戶名 –p密碼 數(shù)據(jù)庫名生成的腳本文件路徑

現(xiàn)在可以在C盤下找到mydb1.sql文件了!

注意,mysqldump命令是在Windows控制臺下執(zhí)行,無需登錄mysql!!!

執(zhí)行SQL腳本

執(zhí)行SQL腳本需要登錄mysql,然后進(jìn)入指定數(shù)據(jù)庫,才可以執(zhí)行SQL腳本!!!

執(zhí)行SQL腳本不只是用來恢復(fù)數(shù)據(jù)庫,也可以在平時編寫SQL腳本,然后使用執(zhí)行SQL 腳本來操作數(shù)據(jù)庫!大家都知道,在黑屏下編寫SQL語句時,就算發(fā)現(xiàn)了錯誤,可能也不能修改了。所以我建議大家使用腳本文件來編寫SQL代碼,然后執(zhí)行之!

SOURCE C:\mydb1.sql

注意,在執(zhí)行腳本時需要先行核查當(dāng)前數(shù)據(jù)庫中的表是否與腳本文件中的語句有沖突!例如在腳本文件中存在create table a的語句,而當(dāng)前數(shù)據(jù)庫中已經(jīng)存在了a表,那么就會出錯!

還可以通過下面的方式來執(zhí)行腳本文件:

mysql -uroot -p123 mydb1c:\mydb1.sql

mysql –u用戶名 –p密碼 數(shù)據(jù)庫要執(zhí)行腳本文件路徑

這種方式無需登錄mysql!

MySQL的備份與還原,非常規(guī)備份,全量備份,增量備份

1:官方百萬級別的測試數(shù)據(jù)庫:

官方測試數(shù)據(jù)庫github網(wǎng)址:

下載到目錄,解壓即可,運行命令:

2:自己創(chuàng)建簡單測試數(shù)據(jù)庫:

快速隨機生成測試語言的網(wǎng)站:

選擇sql和想生成的字段,點擊生成Generate!生成即可。

在MySQL輸入生成的語句即可。

3:測試備份還原時用到的命令

刪庫跑路測試(先備份好)

還原后查詢庫的表數(shù)據(jù)是否完整。

采用復(fù)制整個數(shù)據(jù)存放目錄

1:查看數(shù)據(jù)庫數(shù)據(jù)存放位置

有兩種方法:

1):在數(shù)據(jù)庫中用命令 show variables like 'datadir'; 查看

2):在配置文件中查看,配置了 datadir 目錄的可查看。沒有配置的默認(rèn)為 /var/lib/mysql/ 位置

Linux中查看配置文件

2:復(fù)制目錄或者目錄下某個數(shù)據(jù)庫名

3:還原時直接復(fù)制文件夾到數(shù)據(jù)庫目錄即可

mysqldump又可叫做全量備份。

參數(shù) --databases 同 -B ,單獨一個庫,也可省略。

1、備份命令mysqldump格式

格式:mysqldump -h主機名 -P端口 -u用戶名 -p密碼 database 數(shù)據(jù)庫名 文件名.sql

備份testDatabase數(shù)據(jù)庫

2、備份MySQL數(shù)據(jù)庫為帶刪除表的格式

備份MySQL數(shù)據(jù)庫為帶刪除表的格式,能夠讓該備份覆蓋已有數(shù)據(jù)庫而不需要手動刪除原有數(shù)據(jù)庫。

3、直接將MySQL數(shù)據(jù)庫壓縮備份

備份并壓縮

4、備份MySQL數(shù)據(jù)庫某個(些)表

備份testDatabase中的myTable表,不需要用參數(shù) --databases 或者 -B

5、同時備份多個MySQL數(shù)據(jù)庫

同時備份testDatabase和 employees兩個庫

6、備份服務(wù)器上所有數(shù)據(jù)庫

參數(shù) --all-databases 同 -A

7、還原MySQL數(shù)據(jù)庫的命令

1) 不指定數(shù)據(jù)名還原,默認(rèn)生成原數(shù)據(jù)庫名稱,還原所有數(shù)據(jù)庫。

2) 指定數(shù)據(jù)名還原,還原指定單個數(shù)據(jù)庫,需在數(shù)據(jù)庫種預(yù)先創(chuàng)建一個testDatabase名稱。

3) 還原壓縮的MySQL數(shù)據(jù)庫

4) 進(jìn)入數(shù)據(jù)庫用source導(dǎo)入

增量備份是針對于數(shù)據(jù)庫的bin-log日志進(jìn)行備份的,增量備份是在全量的基礎(chǔ)上進(jìn)行操作的。增量備份主要是靠mysql記錄的bin-log日志。

1:查看是否開啟bin-log日志

進(jìn)入mysql輸入命令可查看。

顯示如下為開啟狀態(tài),日志文件在/var/lib/mysql/以binlog.00001的格式保存。

如未開啟,需要在配置文件種配置

2:查看目前使用的bin-log日志文件

進(jìn)入mysql查看命令。

顯示如下,目前使用的是binlog.000022文件,所有操作都記錄在此文件。

查看當(dāng)前testDatabase的表myTable數(shù)據(jù)如下,

3:刷新日志,使用新的日志文件(備份)

在命令端執(zhí)行命令

日志文件從 binlog.000022 變?yōu)?binlog.000023

這時相當(dāng)與已經(jīng)備份成功,備份文件即為上次的binlog.000022日志文件。

4:刪除數(shù)量,從日志還原數(shù)據(jù)

1) 刪除ABC行

查詢以及沒有ABC行列。

2) 恢復(fù)數(shù)據(jù)ABC行

退出mysql,在命令端用mysqlbinlog命令恢復(fù)到binlog.000022日志狀態(tài)。

進(jìn)入數(shù)據(jù)庫再次查看數(shù)據(jù),ABC已經(jīng)恢復(fù)。

增量備份完成。

如何使用mysql數(shù)據(jù)庫進(jìn)行備份數(shù)據(jù)恢復(fù)

恢復(fù)整個數(shù)據(jù)庫首先,如果要恢復(fù)的數(shù)據(jù)庫是含有授權(quán)表的mysql數(shù)據(jù)庫,將需要使用--skip-grant-tables選項運行服務(wù)器。否則,服務(wù)器將抱怨無法找到授權(quán)表。在恢復(fù)表之后,執(zhí)行mysqladmin flush-privileges 來告訴服務(wù)器加載授權(quán)表,并用它們啟動。將原數(shù)據(jù)庫目錄的內(nèi)容拷貝到其他的地方。例如,您可能會在稍后用它們進(jìn)行崩潰表的事后分析檢查(post-mortem examination)。用最新的備份文件重新加載數(shù)據(jù)庫。如果您打算使用由mysqldump 加載的文件,則需要將它們作為mysql的輸入。如果打算使用從數(shù)據(jù)庫中直接拷貝的文件(如,用tar 或c p),則將它們直接拷貝回到該數(shù)據(jù)庫目錄中。但是,在這種情況下,應(yīng)該在拷貝這些文件之前關(guān)閉服務(wù)器,然后再重新啟動它。用更新日志重做在進(jìn)行備份后又修改了數(shù)據(jù)庫表的查詢。對于所有可用的更新日志,可使用它作為mysql的輸入。指定--one-database 選項,使mysql只對想要恢復(fù)的數(shù)據(jù)庫執(zhí)行查詢。如果您知道需要使用所有的更新日志文件,可在包含日志的目錄中使用下列命令:% ls-t-r-l update.(0-9)* | xargs cat | mysql--one-database db_namels 命令產(chǎn)生更新日志文件的單列列表,更新日志文件根據(jù)服務(wù)器生成的順序進(jìn)行排序(要知道,如果您修改了其中的任何文件,排序的順序都將改變,這將導(dǎo)致更新日志按錯誤的順序使用)。您很可能必須使用某些更新日志。例如,如果自備份以來所產(chǎn)生的日志命名為update.392、pdate.393 等等,可以重新運行它們中的命令:% mysql--one-database db_name updata.392% mysql--one-database db_name updata.393…如果正在運行恢復(fù)并打算使用更新日志恢復(fù)由于失策的DROP DATA BASE、DROPTABLE或DELETE 語句而丟失的信息,應(yīng)確保先從更新日志中刪除這些語句。恢復(fù)單個的表恢復(fù)單個表是很困難的。如果有通過mysqldump 生成的備份文件并且它恰好不包含您想要的表數(shù)據(jù),則需要抽取相關(guān)的行并用它們作為mysql的輸入,這部分較容易。困難的是抽取應(yīng)用于該表的更新日志的片段。您會發(fā)現(xiàn): mysql_find_rows 實用程序?qū)@方面有幫助,它可以從更新日志中抽取多行查詢。另一種可能性是用另一個服務(wù)器恢復(fù)整個數(shù)據(jù)庫,然后將所要的該表的文件拷貝到原始數(shù)據(jù)庫中。這實際很容易!在將文件拷貝回數(shù)據(jù)庫目錄時,應(yīng)確保原始數(shù)據(jù)庫的服務(wù)器關(guān)閉。

MySQL如何備份與還原

使用MYSQL數(shù)據(jù)庫的朋友,對MySQL進(jìn)行備份和還原是比較重要的。重要的事簡單做,今天介紹我們使用mysqldump和source命令來備份還原,分為Windows下和Linux下的MYSQL備份與還原操作。

一、Win32系統(tǒng)下MySQL的備份還原方法

備份:在“運行”中輸入“cmd

”,利用“cd

/Program

Files/MySQL/MySQL

Server

5.0/bin”進(jìn)入bin文件夾,輸入“mysqldump

-u

用戶名

-p

databasename

exportfilename”導(dǎo)出數(shù)據(jù)庫到文件,如mysqldump

-u

root

-p

voicevoice.sql,然后輸入密碼即可開始導(dǎo)出MYSQL數(shù)據(jù),實現(xiàn)備份操作。

還原:進(jìn)入MySQL

Command

Line

Client,輸入密碼,進(jìn)入到“mysql”,輸入命令"show

databases;",回車,看看有些什么數(shù)據(jù)庫;建立你要還原的數(shù)據(jù)庫,輸入"create

database

voice;",回車;切換到剛建立的數(shù)據(jù)庫,輸入"use

voice;",回車;導(dǎo)入數(shù)據(jù),輸入"source

voice.sql;",回車,開始導(dǎo)入,再次出現(xiàn)"mysql"并且沒有提示錯誤即還原成功。

二、Linux下MySQL的備份與還原方法:

備份:[root@localhost

~]#

cd

/var/lib/mysql

(進(jìn)入到MySQL庫目錄,根據(jù)自己的MySQL的安裝情況調(diào)整目錄)

[root@localhost

mysql]#

mysqldump

-u

root

-p

voicevoice.sql,輸入密碼即可。

還原:有兩種方法可選:

第一種方法:[root@localhost

~]#

mysql

-u

root

-p

回車,輸入密碼,進(jìn)入MySQL的控制臺"mysql",同1.2還原。

第二種方法:

[root@localhost

~]#

cd

/var/lib/mysql

(進(jìn)入到MySQL庫目錄,根據(jù)自己的MySQL的安裝情況調(diào)整目錄)

[root@localhost

mysql]#

mysql

-u

root

-p

voice

新聞標(biāo)題:mysql備份后怎么恢復(fù),mysql數(shù)據(jù)庫的備份和恢復(fù)常用方法
當(dāng)前鏈接:http://chinadenli.net/article8/dssphip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站網(wǎng)站維護(hù)自適應(yīng)網(wǎng)站建站公司App開發(fā)品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)