當前位置:首頁 » 操作系統 » mysql還原資料庫

mysql還原資料庫

發布時間: 2022-11-26 03:30:50

⑴ 如何使用MYsql資料庫進行備份數據恢復

恢復整個資料庫

首先,如果要恢復的資料庫是含有授權表的mysql資料庫,將需要使用--skip-grant-tables選項運行伺服器。否則,伺服器將抱怨無法找到授權表。在恢復表之後,執行mysqladmin flush-privileges 來告訴伺服器載入授權表,並用它們啟動。

將原資料庫目錄的內容拷貝到其他的地方。例如,您可能會在稍後用它們進行崩潰表的事後分析檢查(post-mortem examination)。

用最新的備份文件重新載入資料庫。如果您打算使用由mysqlmp 載入的文件,則需要將它們作為mysql的輸入。如果打算使用從資料庫中直接拷貝的文件(如,用tar 或c p),則將它們直接拷貝回到該資料庫目錄中。但是,在這種情況下,應該在拷貝這些文件之前關閉伺服器,然後再重新啟動它。

用更新日誌重做在進行備份後又修改了資料庫表的查詢。對於所有可用的更新日誌,可使用它作為mysql的輸入。指定--one-database 選項,使mysql只對想要恢復的資料庫執行查詢。如果您知道需要使用所有的更新日誌文件,可在包含日誌的目錄中使用下列命令:

% ls-t-r-l update.(0-9)* | xargs cat | mysql--one-database db_name

ls 命令產生更新日誌文件的單列列表,更新日誌文件根據伺服器生成的順序進行排序(要知道,如果您修改了其中的任何文件,排序的順序都將改變,這將導致更新日誌按錯誤的順序使用)。

您很可能必須使用某些更新日誌。例如,如果自備份以來所產生的日誌命名為update.392、pdate.393 等等,可以重新運行它們中的命令:

% mysql--one-database db_name < updata.392
% mysql--one-database db_name < updata.393


如果正在運行恢復並打算使用更新日誌恢復由於失策的DROP DATA BASE、DROPTABLE或DELETE 語句而丟失的信息,應確保先從更新日誌中刪除這些語句。

恢復單個的表

恢復單個表是很困難的。如果有通過mysqlmp 生成的備份文件並且它恰好不包含您想要的表數據,則需要抽取相關的行並用它們作為mysql的輸入,這部分較容易。困難的是抽取應用於該表的更新日誌的片段。您會發現: mysql_find_rows 實用程序對這方面有幫助,它可以從更新日誌中抽取多行查詢。

另一種可能性是用另一個伺服器恢復整個資料庫,然後將所要的該表的文件拷貝到原始資料庫中。這實際很容易!在將文件拷貝回資料庫目錄時,應確保原始資料庫的伺服器關閉。

⑵ 怎麼還原,恢復或導入MySQL資料庫

1、按WIN+R組合鍵,在運行框中輸入:CMD,點擊確定,進入CMD窗口。
2、在命令行下輸入:mysql -uroot -p ,回車後輸入輸入root的密碼即可登錄mysql命令行。
3、先創建一個空的資料庫:create database backup(create database 資料庫名稱)。
4、還原的資料庫:use backup(use 資料庫名稱)。
5、或導入資料庫:source backup.sql(source 資料庫腳本文件)。
6、還原或導入完後 查看資料庫表可以看到已導入成功。

⑶ 怎麼備份和還原mysql資料庫

備份資料庫

使用mysqlmp命令備份資料庫

⑷ 如何使用命令來備份和還原MySQL資料庫

備份資料庫
使用mysqlmp命令備份資料庫

復制代碼代碼如下:

# 如果要將game資料庫進行備份:
mysqlmp -u root -p game > game_backup.sql

# 如果希望備份所有的資料庫:
mysqlmp -u root -p --all-databases > all_backup.sql

還原資料庫
1、使用mysql命令還原資料庫
將game_backup.sql 還原至 game 資料庫:

復制代碼代碼如下:

mysql -u root -p game < game_backup.sql

2、使用source命令還原資料庫
如果資料庫過大,建議可以使用source命令

復制代碼代碼如下:

mysql> source game_backup.sql

⑸ mysql資料庫備份和還原

MySQL有一種非常簡單的備份方法,先將伺服器停止,然後將MySQL中的資料庫文件直接復制出來。這是最簡單,速度最快的方法。
*將伺服器停止,這樣才可以保證在復制期間資料庫的數據不會發生變化。如果在復制資料庫的過程中還有數據寫入,就會造成數據不一致。
恢復也一樣,先將伺服器停止,然後將備份的資料庫覆蓋同名的資料庫即可。

⑹ mysql還原資料庫

簡單情況下:進入原來mysql安裝路徑下的data文件夾下,找到相應的庫和ibdata1,進行,就可回復原來的數據。
復雜情況下:
從另一台機上把MySQL資料庫的mysql文件夾拷貝到本地機上,目的是恢復本地機對數據的訪問和操作。經過如下幾種情況的操作。
1. 在本地重裝MySQL(安裝目錄D:\Program Files\MySQL\MySQL Server 5.0),直接把mysql文件夾拷貝至D:\Program Files\MySQL\MySQL Server 5.0\。結果,失敗:資料庫連接錯誤。
2. 卸載後重裝MySQL,將D:\Program Files\MySQL\MySQL Server 5.0\下的數據備份,只把mysql\data文件夾全部內容拷貝到D:\Program Files\MySQL\MySQL Server 5.0\data下。結果,失敗:資料庫連接錯誤。將備份的數據還完覆蓋。結果,失敗,還是連接不上資料庫。
3. 卸載後重裝MySQL,將mysql\data文件夾里的cf1,last文件夾(這兩個是原來MySQL里的資料庫)拷貝進D:\Program Files\MySQL\MySQL Server 5.0\data。連接成功,在Navicat for MySQL里看到資料庫cf1和last,但是不能訪問,因為數據全為零。明白了原來data里以資料庫命名的文件存儲的是資料庫的表結構,不是元數據。下一步,把data文件夾里的ibdata1文件(3.4G大,明顯存儲了元數據)拷貝到D:\Program Files\MySQL\MySQL Server 5.0\data里,代替原來的ibdata1文件。重啟電腦,打開Navicat for MySQL,連接成功,數據可以訪問操作。
至此,操作終於成功。其實當初在那台機上把數據導出來,而不是現在直接把文件夾mysql復制過來會更容易恢復。但那台機已經重裝了系統,也就是說MySQL失效了。

⑺ mysql資料庫備份和還原

MySQL資料庫備份與還原
備份和恢復數據
生成SQL腳本
在控制台使用mysqlmp命令可以用來生成指定資料庫的腳本文本,但要注意,腳本文本中只包含資料庫的內容,而不會存在創建資料庫的語句!所以在恢復數據時,還需要自已手動創建一個資料庫之後再去恢復數據。
mysqlmp –u用戶名 –p密碼 資料庫名>生成的腳本文件路徑
現在可以在C盤下找到mydb1.sql文件了!
注意,mysqlmp命令是在Windows控制台下執行,無需登錄mysql!!!
執行SQL腳本
執行SQL腳本需要登錄mysql,然後進入指定資料庫,才可以執行SQL腳本!!!
執行SQL腳本不只是用來恢復資料庫,也可以在平時編寫SQL腳本,然後使用執行SQL 腳本來操作資料庫!大家都知道,在黑屏下編寫SQL語句時,就算發現了錯誤,可能也不能修改了。所以我建議大家使用腳本文件來編寫SQL代碼,然後執行之!
SOURCE C:\mydb1.sql
注意,在執行腳本時需要先行核查當前資料庫中的表是否與腳本文件中的語句有沖突!例如在腳本文件中存在create table a的語句,而當前資料庫中已經存在了a表,那麼就會出錯!
還可以通過下面的方式來執行腳本文件:
mysql -uroot -p123 mydb1<c:\mydb1.sql
mysql –u用戶名 –p密碼 資料庫<要執行腳本文件路徑

這種方式無需登錄mysql!

⑻ mysql刪除被的資料庫怎麼還原

1 找個別的機百器安裝個同版本的mysql或從已安裝同版本的其他機器上(非同版本的度也可以試下):

拷貝 mysql/data/mysql 目錄到你的mysql/data/ 下吧

2 試著啟動mysql服務,如果能啟動了,理論上應該丟失的只有用戶、授權等一些知系統信息,不影響你的使用的數據;

如果不能啟動,看錯誤日誌,爭取啟動了。

3 趕緊把數據備份道一份出來,重內新把所有庫(只是你後來創建的業務相關的庫,不包括mysql庫)都刪了,重新導入一遍。理論上不這樣也可以,但只是非容生產重要的環境下。

4 重新做用戶授權。

以上步驟參考一下,試一下

⑼ mysql怎麼通過備份還原資料庫文件

一、數據備份
1、使用mysqlmp命令備份
mysqlmp命令將資料庫中的數據備份成一個文本文件。表的結構和表中的數據將存儲在生成的文本文件中。
mysqlmp命令的工作原理很簡單。它先查出需要備份的表的結構,再在文本文件中生成一個CREATE語句。然後,將表中的所有記錄轉換成一條INSERT語句。然後通過這些語句,就能夠創建表並插入數據。
1、備份一個資料庫
mysqlmp基本語法:
mysqlmp -u username -p dbname table1 table2 ...-> BackupName.sql
其中:
dbname參數表示資料庫的名稱;
table1和table2參數表示需要備份的表的名稱,為空則整個資料庫備份;
BackupName.sql參數表設計備份文件的名稱,文件名前面可以加上一個絕對路徑。通常將資料庫被分成一個後綴名為sql的文件;
使用root用戶備份test資料庫下的person表
mysqlmp -u root -p test person > D:\backup.sql


其生成的腳本如下:

文件的開頭會記錄MySQL的版本、備份的主機名和資料庫名。
文件中以「--」開頭的都是SQL語言的注釋,以"/*!40101"等形式開頭的是與MySQL有關的注釋。40101是MySQL資料庫的版本號,如果MySQL的版本比1.11高,則/*!40101和*/之間的內容就被當做SQL命令來執行,如果比4.1.1低就會被當做注釋。
2、備份多個資料庫
語法:
mysqlmp -u username -p --databases dbname2 dbname2 > Backup.sql

加上了--databases選項,然後後面跟多個資料庫
mysqlmp -u root -p --databases test mysql > D:\backup.sql

3、備份所有資料庫
mysqlmp命令備份所有資料庫的語法如下:
mysqlmp -u username -p -all-databases > BackupName.sql

示例:
mysqlmp -u -root -p -all-databases > D:\all.sql

2、直接復制整個資料庫目錄
MySQL有一種非常簡單的備份方法,就是將MySQL中的資料庫文件直接復制出來。這是最簡單,速度最快的方法。
不過在此之前,要先將伺服器停止,這樣才可以保證在復制期間資料庫的數據不會發生變化。如果在復制資料庫的過程中還有數據寫入,就會造成數據不一致。這種情況在開發環境可以,但是在生產環境中很難允許備份伺服器。
注意:這種方法不適用於InnoDB存儲引擎的表,而對於MyISAM存儲引擎的表很方便。同時,還原時MySQL的版本最好相同。
3、使用mysqlhot工具快速備份
一看名字就知道是熱備份。因此,mysqlhot支持不停止MySQL伺服器備份。而且,mysqlhot的備份方式比mysqlmp快。mysqlhot是一個perl腳本,主要在Linux系統下使用。其使用LOCK TABLES、FLUSH TABLES和cp來進行快速備份。
原理:先將需要備份的資料庫加上一個讀鎖,然後用FLUSH TABLES將內存中的數據寫回到硬碟上的資料庫,最後,把需要備份的資料庫文件復制到目標目錄。
命令格式如下:
[root@localhost ~]# mysqlhot [option] dbname1 dbname2 backupDir/

dbname:資料庫名稱;
backupDir:備份到哪個文件夾下;
常用選項:
--help:查看mysqlhot幫助;
--allowold:如果備份目錄下存在相同的備份文件,將舊的備份文件加上_old;
--keepold:如果備份目錄下存在相同的備份文件,不刪除舊的備份文件,而是將舊的文件更名;
--flushlog:本次輩分之後,將對資料庫的更新記錄到日誌中;
--noindices:只備份數據文件,不備份索引文件;
--user=用戶名:用來指定用戶名,可以用-u代替;
--password=密碼:用來指定密碼,可以用-p代替。使用-p時,密碼與-p之間沒有空格;
--port=埠號:用來指定訪問埠,可以用-P代替;
--socket=socket文件:用來指定socket文件,可以用-S代替;
mysqlhot並非mysql自帶,需要安裝Perl的資料庫介麵包;下載地址為:http://dev.mysql.com/downloads/dbi.html
目前,該工具也僅僅能夠備份MyISAM類型的表。
二、數據還原
1、還原使用mysqlmp命令備份的資料庫的語法如下:
mysql -u root -p [dbname] < backup.sq
示例:
mysql -u root -p < C:\backup.sql

2、還原直接復制目錄的備份
通過這種方式還原時,必須保證兩個MySQL資料庫的版本號是相同的。MyISAM類型的表有效,對於InnoDB類型的表不可用,InnoDB表的表空間不能直接復制。

⑽ Navicat for MySQL怎麼還原資料庫啊,psc格式的

步驟如下:

1、首先打開navicat,找到需要備份的資料庫,並且打開,如圖所示。

熱點內容
停車系統資料庫 發布:2025-05-17 17:44:02 瀏覽:289
羅技g502高級腳本 發布:2025-05-17 17:30:45 瀏覽:217
python解析post請求 發布:2025-05-17 17:27:19 瀏覽:696
社保測算密碼是什麼 發布:2025-05-17 17:25:09 瀏覽:157
phpini修改路徑 發布:2025-05-17 17:19:06 瀏覽:280
mac搭建php開發環境 發布:2025-05-17 17:18:22 瀏覽:782
佟大為關悅上超級訪問 發布:2025-05-17 17:09:50 瀏覽:310
閃迪存儲卡高速 發布:2025-05-17 17:09:14 瀏覽:470
ios文件加密插件 發布:2025-05-17 17:05:48 瀏覽:797
androidbutton自定義 發布:2025-05-17 16:58:34 瀏覽:169