❶ 怎麼恢復mysql資料庫
xxx.frm
xxx.MYD
xxx.MYI
如果有以上三個文件,則你可以在mysql中新建一個資料庫,它會生成同樣的三個文件,
然後你用你的備份文件覆蓋就OK
前提是版本一致
❷ MySQL如何備份與還原
使用MYSQL資料庫的朋友,對MySQL進行備份和還原是比較重要的。重要的事簡單做,今天介紹我們使用mysqlmp和source命令來備份還原,分為Windows下和Linux下的MYSQL備份與還原操作。
一、Win32系統下MySQL的備份還原方法皮稿
備份:在「運行」中輸入「cmd
」,利用「cd
/Program
Files/MySQL/MySQL
Server
5.0/bin」進入bin文件夾,輸入「mysqlmp
-u
用戶名
-p
databasename
>exportfilename」導出資料庫到文件,如mysqlmp
-u
root
-p
voice>voice.sql,然後輸入密碼即可開始導出MYSQL數據,實現備份操作。
還原:進入MySQL
Command
Line
Client,輸入密碼,進入到「mysql>」,輸入命令"show
databases;",回車,看看有些什麼資料庫;建立你要還原的資料庫,輸入"create
database
voice;",回車;切換到剛建立的資料庫,輸入"use
voice;",回車;導入數據,輸入"source
voice.sql;",回車,開始導入,再次出現"mysql>"並且沒譽擾有提示錯誤即還原成功。
二、慶握旦Linux下MySQL的備份與還原方法:
備份:[root@localhost
~]#
cd
/var/lib/mysql
(進入到MySQL庫目錄,根據自己的MySQL的安裝情況調整目錄)
[root@localhost
mysql]#
mysqlmp
-u
root
-p
voice>voice.sql,輸入密碼即可。
還原:有兩種方法可選:
第一種方法:[root@localhost
~]#
mysql
-u
root
-p
回車,輸入密碼,進入MySQL的控制台"mysql>",同1.2還原。
第二種方法:
[root@localhost
~]#
cd
/var/lib/mysql
(進入到MySQL庫目錄,根據自己的MySQL的安裝情況調整目錄)
[root@localhost
mysql]#
mysql
-u
root
-p
voice
❸ 怎麼備份和還原mysql資料庫
備份資料庫
使用mysqlmp命令備份資料庫
❹ 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表的表空間不能直接復制。
❻ 怎麼恢復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失效了。
❼ 如何用Navicat MySQL還原資料庫
一、下載 Navicat 9 Lite(伺服器已經有裝的,就不要安裝了)
二、打寬蔽橘開Navicat---連接---Mysql
三、填寫資料庫連接信息
四、導出資料庫文件
雙擊打開創建的連接---選擇您的資料庫---右鍵點擊---選擇"轉儲SQL文件",即可將資料庫導入成並老.sql文件
五、 導入資料庫文件 1)雙擊打開創建的連接---選擇您的資料庫---右鍵點擊---選擇"運行SQL文件"
2)選擇您的資料庫備份文件以及備份文件的編碼,默認選擇的編碼為65001
(UTF-8)。如果導入失敗,可以刪除失敗的表,嘗試選擇936( Simplified Chinese GBK ) 再次導入
3)如果進度條顯示完成,慎團並且沒有提示錯誤,則成功導入。點擊"表",按F5刷新後即可看到導入後的內容。
❽ mysql資料庫備份和還原
MySQL有一種非常簡單的備份方法,先將伺服器停止,然後將MySQL中的資料庫文件專直接復制出來。這是最屬簡單,速度最快的方法。
*將伺服器停止,這樣才可以保證在復制期間資料庫的數據不會發生變化。如果在復制資料庫的過程中還有數據寫入,就會造成數據不一致。
恢復也一樣,先將伺服器停止,然後將備份的資料庫覆蓋同名的資料庫即可。
❾ mysql的數據刪除後怎麼恢復
如果你要恢復的資料庫是包含授權表的mysql資料庫,您將需要使用--skip贈款-tables選項來運行伺服器恢復整個資料庫
- 首先,。否則,伺服器會抱怨不能找到授權表。恢復表後,執行mysqladmin沖水privileges告訴伺服器裝載授權表,並用它們來啟動。資料庫目錄到其他地方的原始內容
復制。例如,您可以使用它們在以後的事後分析檢查表(驗屍)的崩潰。
酒店與最新的資料庫備份文件重新載入。如果您打算使用mysqlmp的所載入的文件,則需要輸入它們作為mysql的。如果您打算使用從資料庫文件直接拷貝(例如,使用tar或CP),它會復制他們直接回資料庫目錄中。然而,在這種情況下,你應該在關閉之前,該伺服器復制這些文件,然後重新啟動它。在備份過程中
重做日誌,辯燃然後查詢更新資料庫表中。對於所有可用的更新日誌,你可以使用它作為mysql的輸入。指定--one-database選項,因此MySQL只是要還原的資料庫執行查詢。如果你意識到有必要使用所有的更新日誌文件,可以使用包含以下命令日誌的目錄:
%LS-TRL更新(0-9)* | xargs的貓| mysql--。一個資料庫DB_NAME
ls命令生成一個單獨的日誌文件更新列表,更新日誌文戚殲件根據伺服器(你知道,如果你其中的任何文件,排序順序生成的順序進行排序會發生變化,這將導致在更新日誌中以錯誤的順序使用)。有限公司您可能需要使用一些更新日誌。例如,如果日誌,因為命名update.392備份,pdate.393等產生的,可以在命令重新運行它們:
%的mysql - 一個資料庫DB_NAME <錄入。 392
%的mysql - 一個資料庫DB_NAME <updata.393 ...
如果您正在運行的恢復,並打算使攜仔虛用更新日誌恢復由於失誤降數據的基礎上,DROPTABLE或DELETE語句和丟失的信息時,一定要在開始更新日誌刪除這些語句。
恢復單個表
恢復單個表是非常困難的。如果是的mysqlmp備份文件生成的,它只是不包含數據,您需要一個表,你需要提取的相關線路,並利用它們作為mysql的輸入,這部分比較容易。困難的是,提取在該表的更新日誌中使用的片段。你會發現:mysql_find_rows工具在這方面有所幫助,它可以提取多行從更新日誌查詢。另一種可能性是使用另一台伺服器
恢復整個資料庫,然後將該文件復制到表的原始資料庫。這其實很容易!當文件被復制回資料庫目錄,確保原始資料庫伺服器關閉。
❿ 重裝系統後如何還原MySQL數據的方法
沒辦法,只能重裝系統了。環境裝好後發現之前的資料庫沒有備份,於是直接把mysql/data下面的資料庫直接拷貝到現在的mysql目錄下面,打開navicat發現無法使用。在網上找到了一個不錯的方法:1、先在運行中輸入services.msc,找到MysQL的服務,將其停止;2、然後備份新安裝的MY.INI和DATA這兩個目錄,直接將其原來mysql/data下的文件拷到新安裝的mysql/data目錄下即可;3、啟動MysQL服務。該方法只在新安裝的資料庫與舊資料庫版本相同的情況下實驗成果。重新打開navicat,發現原來的資料庫都可以使用了。是否有更好的方法?