當前位置:首頁 » 編程語言 » phpmysql資料庫備份

phpmysql資料庫備份

發布時間: 2023-02-13 01:55:48

php,mysql資料庫備份和還原的最理想方式,類似phpadmin的代碼

一、備份資料庫並下載到本地【db_backup.php】
復制代碼 代碼如下:
<?php
// 設置SQL文件保存文件名
$filename=date("Y-m-d_H-i-s")."-".$cfg_dbname.".sql";
// 所保存的文件名
header("Content-disposition:filename=".$filename);
header("Content-type:application/octetstream");
header("Pragma:no-cache");
header("Expires:0");
// 獲取當前頁面文件路徑,SQL文件就導出到此文件夾
$tmpFile = (dirname(__FILE__))."\\".$filename;
// 用MySQLDump命令導出資料庫
exec("mysqlmp -u$cfg_dbuser -p$cfg_dbpwd --default-character-set=utf8 $cfg_dbname > ".$tmpFile);
$file = fopen($tmpFile, "r"); // 打開文件
echo fread($file,filesize($tmpFile));
fclose($file);
exit;
?>
二、還原資料庫【db_restore.php】
復制代碼 代碼如下:
<form id="form1" name="form1" method="post" action="">
【資料庫SQL文件】:<input id="sqlFile" name="sqlFile" type="file" />
<input id="submit" name="submit" type="submit" value="還原" />
</form>
<?php
// 我的資料庫信息都存放到config.php文件中,所以載入此文件,如果你的不是存放到該文件中,注釋此行即可;
require_once((dirname(__FILE__).'/../../include/config.php'));
if ( isset ( $_POST['sqlFile'] ) )
{
$file_name = $_POST['sqlFile']; //要導入的SQL文件名
$dbhost = $cfg_dbhost; //資料庫主機名
$dbuser = $cfg_dbuser; //資料庫用戶名
$dbpass = $cfg_dbpwd; //資料庫密碼
$dbname = $cfg_dbname; //資料庫名
set_time_limit(0); //設置超時時間為0,表示一直執行。當php在safe mode模式下無效,此時可能會導致導入超時,此時需要分段導入
$fp = @fopen($file_name, "r") or die("不能打開SQL文件 $file_name");//打開文件
mysql_connect($dbhost, $dbuser, $dbpass) or die("不能連接資料庫 $dbhost");//連接資料庫
mysql_select_db($dbname) or die ("不能打開資料庫 $dbname");//打開資料庫
echo "<p>正在清空資料庫,請稍等....<br>";
$result = mysql_query("SHOW tables");
while ($currow=mysql_fetch_array($result))
{
mysql_query("drop TABLE IF EXISTS $currow[0]");
echo "清空數據表【".$currow[0]."】成功!<br>";
}
echo "<br>恭喜你清理MYSQL成功<br>";
echo "正在執行導入資料庫操作<br>";
// 導入資料庫的MySQL命令
exec("mysql -u$cfg_dbuser -p$cfg_dbpwd $cfg_dbname < ".$file_name);
echo "<br>導入完成!";
mysql_close();
}
?>

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

備份資料庫

使用mysqlmp命令備份資料庫

㈢ 請問mysql怎麼自動備份資料庫

資料庫的自動備份,可以減輕維護者的工作量也便於系統恢復,對於比較重要的資料庫,最好還是設置下自動備份。

工具/原料



navicat for mysql

mysql 5.5

方法/步驟

  1. 打開navicat客戶端,連上mysql後,雙擊左邊你想要備份的資料庫。點擊「計劃」,再點擊「新建批處理作業」。


㈣ MySQL客戶端軟體有哪些不錯的值得推薦和一用

MySQL作為一種非常流行的關系型資料庫,在信息系統開發中扮演著非常重要的角色,經常被用於後端數據存儲,而MySQL本身又不提供非常便捷的客戶端軟體,因此出現了許許多多的第三方管理軟體,下面我簡單介紹幾個,感興趣的朋友可以自己下載嘗試一下:

SQLyog

這是一個非常輕巧靈活的MySQL客戶端軟體,界面整潔、干凈友好,大部分開發人員都應該聽說或使用過,可以直接查看資料庫目錄結構,建庫建表靈活,支持SQL腳本導入導出、數據備份恢復等常見功能,語法高亮、自動補全等也都非常不錯,對於日常MySQL管理來說,是一個非常不錯的工具:

Navicat

這也是一個非常不錯的MySQL客戶端管理軟體,界面簡潔、功能強大,基本使用方式和SQLyog差不多,可以直接手動建庫建表、設計視圖(包括欄位類型、主外鍵關系、觸發器等),支持資料庫建模、SQL腳本導入導出、數據恢復和備份等常見功能,對於MySQL管理來說,也是一個非常不錯的工具:

Workbench

這是MySQL官方自帶的一個客戶端軟體,可以直接到官網下載安裝,免費、跨平台,專門為MySQL量身定製,兼容性良好,支持資料庫建模(ER模型、前向和反向工程)、數據遷移(低版本到高版本)、恢復與備份等常見功能,對於MySQL日常管理來說,也是一個非常不錯的工具:

phpMyAdmin

這是一個專門為php開發人員設計的MySQL管理工具,基於Web瀏覽器運行,界面干凈、整潔友好,可以很方便的查閱管理日常資料庫,建庫建表也非常容易,如果你是一個專業的php開發人員,那麼phpMyAdmin就是一個非常不錯的管理工具,缺點就是在數據的備份和恢復上不是很方便:

DataGrip

這是一個比較全能的資料庫客戶端軟體,支持目前幾乎所有的主流資料庫,包括MySQL,Oracle,SQL Server等,界面友好、干凈整潔,日常查詢、建庫建表、建模設計、備份恢復、數據遷移等,這個軟體都能很好支持,語法高亮、自動補全等功能也都非常不錯,對於資料庫管理來說,也是一個非常不錯的工具:

當然,還有許多其他MySQL客戶端管理軟體,像HeidiSQL,DBeaver等也都非常不錯,這里就不一一介紹了,基本功能和前面的這5個軟體差不多,只要你熟悉一下使用方式,很快就能掌握的。至於哪個好,哪個更優秀,這個也沒有什麼明確標准,只要適合自己就行,如果你非常熟悉MySQL的話,也可以使用命令行工具,效果是一樣的,網上也有相關資料,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

MySQL的管理維護工具非常多,除了系統自帶的命令行管理工具之外,還有許多其他的圖形化管理工具,這里我介紹幾個經常使用的MySQL圖形化管理工具,供大家參考。

1、phpMyAdmin

phpMyAdmin是最常用的MySQL維護工具,是一個用PHP開發的基於Web方式架構在網站主機上的Mysql管理工具,支持中文,管理資料庫非常方便。不足之處在於對大資料庫的備份和恢復不方便。

2、MySQLDumper

MySQLDumper使用PHP開發的MySQL資料庫備份恢復程序,解決了使用PHP進行大資料庫備份和恢復的問題,數百兆的資料庫都可以方便的備份恢復,不用擔心網速太慢導致中間中斷的問題,非常方便易用。

這個軟體是德國人開發的,還沒有中文語言包。

3、Navicat

Navicat是一個桌面版MySQL資料庫管理和開發工具。和微軟SQLServer的管理器很像,易學易用。

Navicat使用圖形化的用戶界面,可以讓用戶使用和管理更為輕松。支持中文,有免費版本提供。

4、MySQL GUI Tools

MySQL GUI Tools是MySQL官方提供的圖形化管理工具,功能很強大,值得推薦,可惜的是沒有中文界面。

5、MySQL ODBC Connector

MySQL官方提供的ODBC介面程序,系統安裝了這個程序之後,就可以通過ODBC來訪問MySQL,這樣就可以實現SQLServer、Access和MySQL之間的數據轉換,還可以支持ASP訪問MySQL資料庫。

6、MySQL Workbench

MySQL Workbench是一個統一的可視化開發和管理平台,該平台提供了許多高級工具,可支持資料庫建模和設計、查詢開發和測試、伺服器配置和監視、用戶和安全管理、備份和恢復自動化、審計數據檢查以及向導驅動的資料庫遷移。

MySQL Workbench是MySQL AB發布的可視化的資料庫設計軟體,它的前身是 FabForce 公司的 DDesigner 4。

MySQL Workbench 為資料庫管理員、程序開發者和系統規劃師提供可視化設計、模型建立、以及資料庫管理功能。

它包含了用於創建復雜的數據建模ER模型,正向和逆向資料庫工程,也可以用於執行通常需要花費大量時間和需要的難以變更和管理的文檔任務。MySQL工作台可在Windows,Linux和Mac上使用。

7、SQLyog

SQLyog 是一個易於使用的、快速而簡潔的圖形化管理MYSQL資料庫的工具,它能夠在任何地點有效地管理你的資料庫。

SQLyog是業界著名的Webyog公司出品的一款簡潔高效、功能強大的圖形化MySQL資料庫管理工具。使用SQLyog可以快速直觀地讓您從世界的任何角落通過網路來維護遠端的MySQL資料庫。

㈤ 備份mysql是用的什麼方法

MySQL備份資料庫的兩個主要實際操作方案是採用MySQL(與PHP搭配之最佳組合) mp程序或是直接復制相關的資料庫文件(如用cp、cpio或tar等)。當然每種實際應用方法都有其優缺點:

MySQL(和PHP搭配之最佳組合)mp與MySQL(和PHP搭配之最佳組合)伺服器協同操作。
直接拷貝方法在伺服器外部進行,並且你必須採取措施保證沒有客戶正在修改你將拷貝的表。如果你想用文件系統備份來備份資料庫,也會發生同樣的問題:
如果資料庫表在文件系統備份過程中被修改,進入備份的表文件主語不一致的狀態,而對以後的恢復表將失去意義。文件系統備份與直接拷貝文件的區別是對後者你
完全控制了備份過程,這樣你能採取措施確保伺服器讓表不受干擾。

MySQL(和PHP搭配之最佳組合)mp比直接拷貝要慢些。

MySQL(和PHP搭配之最佳組合)mp生成能夠移植到其它機器的文本文件,甚至那些有不同硬體結構的機器上。直接拷貝文件不能移植到其它機器上,
除非你正在拷貝的表使用MyISAM存儲格式。ISAM表只能在相似的硬體結構的機器上拷貝。在MySQL(和PHP搭配之最佳組合)
3.23中引入的MyISAM表存儲格式解決了該問題,因為該格式是機器無關的,所以直接拷貝文件可以移植到具有不同硬體結構的機器上。只要滿足兩個條
件:另一台機器必須也運行MySQL(和PHP搭配之最佳組合) 3.23或以後版本,而且文件必須以MyISAM格式表示,而不是ISAM格式。

不管你使用哪種備份方法,如果你需要恢復資料庫,有幾個原則應該遵守,以確保最好的結果:

定期實施備份。建立一個計劃並嚴格遵守。

讓伺服器執行更新日誌。當你在崩潰後需要恢復數據時,更新日誌將幫助你。在你用備份文件恢復數據到備份時的狀態後,你可以通過運行更新日誌中的查詢再次運用備份後面的修改,這將資料庫中的表恢復到崩潰發生時的狀態。

以文件系統備份的術語講,資料庫備份文件代表完全傾倒(full mp),而更新日誌代表漸進傾倒(incremental mp)。

使用一種統一的和易理解的備份文件命名機制。象backup1、buckup2等不是特別有意義。當實施你的恢復時,你將浪費時間找出文件里是什麼東西。你可能發覺用資料庫名和日期構成備份文件名會很有用。例如:

%MySQL(和PHP搭配之最佳組合)mp samp_db >/usr/archives/MySQL(和PHP搭配之最佳組合)/samp_db.1999-10-02
%MySQL(和PHP搭配之最佳組合)mp menagerie >/usr/archives/MySQL(和PHP搭配之最佳組合)/menagerie.1999-10-02

㈥ PHP+MYSQL的資料庫如何備份和還原

有很多軟體可以使用,比如phpmyadmin,sqlyog等等
下載一個phpmyadmin並且配置好(網上有如何配置),其中就有備份還原資料庫的圖標,很簡單
補充:----------------------
對啊,點導出,然後執行就可以了啊

㈦ 如何用PHP來實現MySQL備份

備份資料庫並下載到本地【db_backup.php】

<?php
//設置SQL文件保存文件名
$filename=date("Y-m-d_H-i-s")."-".$cfg_dbname.".sql";
//所保存的文件名
header("Content-disposition:filename=".$filename);
header("Content-type:application/octetstream");
header("Pragma:no-cache");
header("Expires:0");
//獲取當前頁面文件路徑,SQL文件就導出到此文件夾內
$tmpFile=(dirname(__FILE__))."\".$filename;
//用MySQLDump命令導出資料庫
exec("mysqlmp-u$cfg_dbuser-p$cfg_dbpwd--default-character-set=utf8$cfg_dbname>".$tmpFile);
$file=fopen($tmpFile,"r");//打開文件
echofread($file,filesize($tmpFile));
fclose($file);
exit;
?>
熱點內容
java刪除數組元素 發布:2024-11-08 20:39:48 瀏覽:947
網狐6603編譯 發布:2024-11-08 20:38:20 瀏覽:472
編程老頑童 發布:2024-11-08 20:37:43 瀏覽:58
手機上能搭建ftp伺服器嗎 發布:2024-11-08 20:33:30 瀏覽:205
linux抓包工具 發布:2024-11-08 20:25:07 瀏覽:459
我的世界神奇寶貝伺服器聯機生存 發布:2024-11-08 20:17:07 瀏覽:723
溫州少兒編程 發布:2024-11-08 20:16:28 瀏覽:550
伺服器硬體有什麼 發布:2024-11-08 20:13:52 瀏覽:320
windows存儲分層 發布:2024-11-08 20:04:34 瀏覽:754
淘寶客服電腦伺服器 發布:2024-11-08 19:39:26 瀏覽:911