php定時備份mysql數據庫,phpstudy備份數據庫

本文目錄一覽:

如何備份MYSQL數據庫里的數據?

你能直接登陸服務器並能取服務器本地的文件嗎?

如果能,那就登陸上服務器,在上面執行mysqldump工具備份即可.

如果不能登陸,那你就用第3方工具吧,如:SQLyog Enterprise

用SQLyog Enterprise登陸上去,選用你要備份的數據—右鍵選”Backup database as SQL dump”,然後按提示設置並選好保存結果的路徑即可.

請問mysql怎麼自動備份數據庫?

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

工具/原料

navicat for mysql

mysql 5.5

方法/步驟

打開navicat客戶端,連上mysql後,雙擊左邊你想要備份的數據庫。點擊“計劃”,再點擊“新建批處理作業”。

雙擊上面的可用任務,它就會到下面的列表裡去,代表你選擇了這個任務。

點擊保存,彈出個命名對話框,給這個任務取個名字,點擊“確定”

點擊“設置”計劃任務。

彈出的對話框,選擇“計劃”,再點擊“新建”。

這裡設置為從2014年1月24號起每天早上九點備份該數據庫。如果想提高備份頻率、或者設置備份截止日期,請點擊“高級”。

高級選項可以把備份設置的更精細,比如這裡設置的是在24小時內每隔2小時就備份一次。加上前面的基本設置,任務計劃就是:從2014年1月24號開始,每天九點,每隔2小時備份一次,每天的備份都持續24小時。

最後,輸入電腦密碼就大功告成。

如何用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(“mysqldump -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; 

?

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(“mysqldump -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();

}

?

原創文章,作者:SYZJE,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/329598.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SYZJE的頭像SYZJE
上一篇 2025-01-14 18:55
下一篇 2025-01-14 18:55

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 用什麼來備份 ssbackup 文件?

    SSBackup是一種用於存儲數據的文件格式,可以在Snapshots和Debian GNU / Linux系統上使用。備份文件是大多數用戶和數據中心管理員的關鍵需求。通過備份,可…

    編程 2025-04-27
  • Think-ORM數據模型及數據庫核心操作

    本文主要介紹Think-ORM數據模型建立和數據庫核心操作。 一、模型定義 Think-ORM是一個開源的ORM框架,用於簡化在PHP應用中(特別是ThinkPHP)與關係數據庫之…

    編程 2025-04-27

發表回復

登錄後才能評論