當前位置:首頁 » 數據倉庫 » 怎麼還原mysql資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

怎麼還原mysql資料庫

發布時間: 2022-04-19 06:12:42

① mysql刪除資料庫後怎麼恢復

1.
使用php腳本刪除資料庫,php使用
mysql_query
函數來創建或者刪除
mysql
資料庫;
2.
使用
mysqladmin
刪除資料庫;
3.
使用
mysqladmin
刪除資料庫;
使用普通用戶登陸mysql伺服器,你可能需要特定的許可權來創建或者刪除
mysql
資料庫。所以我們使用root用戶登錄,root用戶擁有最高許可權,可以使用
mysql
mysqladmin
命令來創建資料庫。
在刪除資料庫過程中,務必要十分謹慎,因為在執行刪除命令後,所有數據將會消失。
4.
使用php腳本刪除資料庫;
php使用
mysql_query
函數來創建或者刪除
mysql
資料庫。bool
mysql_query(
sql,
connection
);該函數有兩個參數,在執行成功時返回
true,否則返回
false。

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

備份資料庫

使用mysqlmp命令備份資料庫

③ 怎麼對資料庫進行恢復mysql

MySQL備份和還原,都是利用mysqlmp、mysql和source命令來完成的。
1.Win32下MySQL的備份與還原
1.1 備份
開始菜單 | 運行 | cmd |利用「cd /Program Files/MySQL/MySQL Server 5.0/bin」命令進入bin文件夾 | 利用「mysqlmp -u 用戶名 -p databasename >exportfilename」導出資料庫到文件,如mysqlmp -u root -p voice>voice.sql,然後輸入密碼即可開始導出。

1.2 還原
進入MySQL Command Line Client,輸入密碼,進入到「mysql>」,輸入命令"show databases;",回車,看看有些什麼資料庫;建立你要還原的資料庫,輸入"create database voice;",回車;切換到剛建立的資料庫,輸入"use voice;",回車;導入數據,輸入"source voice.sql;",回車,開始導入,再次出現"mysql>"並且沒有提示錯誤即還原成功。

2.Linux下MySQL的備份與還原
2.1 備份
[root@localhost ~]# cd /var/lib/mysql (進入到MySQL庫目錄,根據自己的MySQL的安裝情況調整目錄)
[root@localhost mysql]# mysqlmp -u root -p voice>voice.sql,輸入密碼即可。
2.2 還原
法一:
[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<voice.sql,輸入密碼即可。

④ 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資料庫

1、source命令

1)打開開始菜單->程序->MySQL->MySQL Command Line Client,輸入MySQL的root密碼。

2)然後輸入use 資料庫名;進入對應的資料庫,再用source 備份文件具體路徑;命令導入備份文件。注意,在這里的命令後面都要加;分號,截圖如下:

2、mysql命令

1)如果是Windows系統,請在命令行模式下進入mysql的bin目錄,如D:Programmysql41in。如果是Linux系統,請直接看下面的步驟。

2)執行mysql命令導入資料庫,命令格式為:

mysql -u用戶名 -p密碼 資料庫名<備份文件具體路徑

比如:mysql -uroot -pabc123 mydb<file.sql,其中用戶名和密碼也可以是具體資料庫的,不一定要root的。

二、資料庫的導出(備份)

一般使用mysqlmp命令

1)如果是Windows系統,請在命令行模式下進入mysql的bin目錄,如D:Programmysql41in。如果是Linux系統,請直接看下面的步驟。

2)執行mysqlmp命令導入資料庫,命令格式為:

mysqlmp -u用戶名 -p密碼 資料庫名>備份文件具體路徑

⑦ 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資料庫沒用備份如何恢復

打開mysql的bin log功能:
對於mysql也是支持增量備份,但要打開mysql的bin log功能。
我們修改mysql的配置文件。linux是/etc/my.cnf,windows是mysql的安裝目錄/my.ini
我們在[mysqld]下面加上log-bin一行代碼,如下面。

[mysqld]

log-bin=mysql-bin

復制代碼
加完後重起mysql即可。

某客戶更新數據的時候,誤刪了資料庫的內容,因為資料庫做了主從,但是沒有做備份(備份很重要啊!)幸好開啟了bin-log,之後只好把整個日誌的記錄拿回來本地進行恢復。

之後自己也做了一個簡單的測試,對數據進行恢復,具體如下:
1、新建一個表
CREATE TABLE `lynn`.`sn_test` ( `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL , `age` INT( 3 ) NOT NULL ) ENGINE = MYISAM;
2、插入多條數據
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn1', '1');
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn2', '2');
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn3', '3');
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn4', '4');
3、查看數據並刪除
mysql> select * from sn_test;
+-------+-----+
| name | age |
+---------+---+
| lynn1 | 1 |
| lynn2 | 2 |
| lynn3 | 3 |
| lynn4 | 4 |
+---------+-----+
4 rows in set (0.00 sec)
mysql> delete from sn_test;
Query OK, 4 rows affected (0.00 sec)
mysql> select * from sn_test;
Empty set (0.00 sec)
4、mysqlbinlog恢復數據
mysqlbinlog mysql-bin.000006 > 1.sql
查看1.txt裡面數據插入的紀錄,把刪除之前的數據進行恢復
mysqlbinlog mysql-bin.000006 --start-position=2471 --stop-position=2876 | mysql -uroot -p123
重新登錄,查看數據,OK,已經成功恢復了
對於資料庫操作,應該注意如下問題:
1、要常備份(全備,增量備份),出了問題可以最快恢復數據;
2、操作資料庫前,要把需要操作的資料庫或者表mp出來;
3、需要把bin-log打開,就算沒有做上面的兩步,也可以通過日誌恢復數據