要想從二進制日誌恢復數據,你需要知道當前二進制日誌文件的路徑和文件名。一般可以從選項文件(即my.cnf or my.ini,取決於你的系統)中找到路徑。如果未包含在選項文件中,當伺服器啟動時,可以在命令行中以選項的形式給出。啟用二進制日誌的選項為-- log-bin。要想確定當前的二進制日誌文件的文件名,輸入下面的MySQL語句:
SHOW BINLOG EVENTS /G
你還可以從命令行輸入下面的內容:
mysql --user=root -pmy_pwd -e 'SHOW BINLOG EVENTS /G'
將密碼my_pwd替換為伺服器的root密碼。
1. 指定恢復時間
對於MySQL 4.1.4,可以在mysqlbinlog語句中通過--start-date和--stop-date選項指定DATETIME格式的起止時間。舉例說 明,假設在今天上午10:00(今天是2006年4月20日),執行SQL語句來刪除一個大表。要想恢復表和數據,你可以恢復前晚上的備份,並輸入:
mysqlbinlog --stop-date="2005-04-20 9:59:59" /var/log/mysql/bin.123456 /
mysql -u root -pmypwd
該命令將恢復截止到在--stop-date選項中以DATETIME格式給出的日期和時間的所有數據。如果你沒有檢測到幾個小時後輸入的錯誤的SQL語句,可能你想要恢復後面發生的活動。根據這些,你可以用起使日期和時間再次運行mysqlbinlog:
mysqlbinlog --start-date="2005-04-20 10:01:00" /var/log/mysql/bin.123456 /
mysql -u root -pmypwd /
在該行中,從上午10:01登錄的SQL語句將運行。組合執行前夜的轉儲文件和mysqlbinlog的兩行可以將所有數據恢復到上午10:00前一秒鍾。你應檢查日誌以確保時間確切。
2. 重裝系統後,mysql應該怎麼恢復過去
1、先在運行中輸入services.msc,找到MysQL的服務,將其停止;
2、然後備份新安裝的MY.INI和DATA這兩個目錄,直接將其原來mysql/data下的文件拷到新安裝的mysql/data目錄下即可;
3、啟動MysQL服務。該方法只在新安裝的資料庫與舊資料庫版本相同的情況下實驗成果。重新打開navicat,發現原來的資料庫都可以使用了。
3. mysql資料庫不小心還原了怎麼辦
mysql資料庫不小心還原了需要按照以下步驟恢復。
1、先確認MYSQL有沒有啟用bin日誌,就是看下mysql.ini(my.cnf)里的log-bin=mysql-bin,可以自定義一個目錄和前綴名,比如/data/log/mylog這樣。
2、然後在資料庫文件存放的data目錄就能看到mysql-bin.00000x這樣的文件,這就是二進制日誌了,可以導出成txt格式的,裡面其實就是對資料庫的各種操作SQL語句。
3、導出txt文件:
E:wampinmysqlmysql5.6.12in>mysqlbinlog --database=testdatabase E:wampinmysqlmysql5.6.12datamysql-bin.000312 > C:\test1.txt
這是WINDOWS下的導出,linux也是類似的。
database=資料庫名
從最早的日誌還始還原
linux下可以很方便的mysql-bin.000*
可以加參數開始時間和結束時間,就是你執行那條SQL語句的時間
start-datetime="2014-12-04 11:25:56" --stop-datetime="2014-12-04 13:23:50"
4、恢復數據:
E:wampinmysqlmysql5.6.12in>mysqlbinlog --database=yundongchao E:wampinmysqlmysql5.6.12datamysql-bin.000179 | mysql -u root -p
------------------------------------------------
4. mysql怎麼還原sql文件的資料庫,求教程
備份MySQL資料庫的命令
mysqlmp -h主機名或ip -u用戶名 -p密碼 資料庫名 > backupfile.sql
還原MySQL資料庫的命令:
mysql -h主機名或IP -u用戶名 -p密碼 資料庫名 < backupfile.sql
5. 如何使用sql語句備份和恢復mysql資料庫
一般使用的命令: mysqlmp --quick --database ondemand1 --u root >bacqup.sql 這樣就能把資料庫中ondemand1的表全部備份出來。 其中參數的格式是:--(兩橫杠,不是我們常用的單橫杠) quick是在數據比較多的時候,不用該參數的話,所有的數據都會先在內存緩存,接著才導出,這樣會導致伺服器運行減慢! --u 必須要加一個用戶名,否則系統會提示你進不了ODBC資料庫的。 >backup.sql則是你備份資料庫的目標文件名
數據導入: 可以使用MySQL-Front工具把上面導出的backup.sql資料庫導入執行。
以下導入方法未測試是否可行!
6. mysql資料庫被刪除後怎麼恢復
使用mysql中的日誌功能。 首先:將最近的二進制類型的日誌文件存成文本文件導出,命令如下:
mysqlbinlog F:/wamp/mysql-bin.000045 > F:/test.txt
其次:打開保存的txt文件,文件格式如下:
其中at 1099代表第1099個命令(姑且這么記),查詢這些命令,看看需要回復的命令在什麼地方,然後執行命令。
最後:執行回復命令,如下:
mysqlbinlog --start-position="123" --stop-position="531" F:/wamp/mysql-bin.000045 F:/test.txt | mysql -uroot -p
這樣就可以完成資料庫的回復了!!!
7. MySQL5.5怎麼還原一個sql文件
sql文件如果是完整的話,
去MYSQL命令行
use 庫名;
source sql文件絕對路徑,這樣試試.
注意,這樣是執行整個SQL文件的,如果你只是要恢復某一部分的話,估計你要打開SQL文件,把那部分復制出來重新存放一個文件
8. 怎麼恢復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失效了。