PHP Mysql データベース バックアップ プログラムの概要_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:06:47
オリジナル
881 人が閲覧しました

インターネットでデータベース バックアップ カテゴリを検索するだけで、多くの種類のコードが見つかります。ここで、いくつかの優れたデータベース バックアップを要約します。これが皆さんの役に立つことを願っています。

データベースバックアップクラス

使用方法:

コードは次のとおりです コードをコピー

require_once("backdata.class.php");
$link = @mysql_connect("localhost","データベース名","パスワード") または die ('サーバーに接続できませんでした。');
mysql_query("cms を使用",$link);
mysql_query("set names utf8",$link);

$dbbck = new backupData($link);//インスタンス化します。リンク識別子だけで十分です

//データをバックアップするときに、データベース内のすべてのテーブルをバックアップしたい場合は、次のように記述できます:
$dbbck->backupTables("cms","./",array('*'));

//データをバックアップするときに、データベース内の 1 つのテーブルだけをバックアップしたい場合は、次のように記述できます:
$dbbck->backupTables("cms","./",array('user'));

//データをバックアップするときに、データベース内の複数のテーブルをバックアップしたい場合は、次のように記述できます:
$dbbck->backupTables("cms","./",array('user','acl','informatoin'));

//注: $dbbck->backupTables("パラメータ 1", "パラメータ 2", array());,

パラメータ 1 は: データベース名、
パラメータ 2 は、バックアップ データが保存される場所 (つまり、ディレクトリ アドレス) です
3 番目は: 保存したいテーブル

backdata.class.php

コードは次のとおりです コードをコピー

/*
*
*シンプルな Mysql バックアップ データ クラス
*
*/
クラスバックアップデータ{
プライベート $mysql_link;//リンク識別
プライベート $dbName //データベース名
private $dataDir; //データが保存されるディレクトリ
Private $tableNames;//テーブル名

パブリック関数 __construct($mysql_link){
$this->mysql_link = $mysql_link;
}
パブリック関数backupTables($dbName,$dataDir,$tableNames){//バックアップを開始します
$this->dbName = $dbName;
$this->dataDir = $dataDir;
$this->tableNames = $tableNames;
$tables=$this->delarray($this->tableNames);
$sqls='';
foreach($tables as $tablename){
if($tablename==''){//テーブルが存在しない場合
続行;
}
                                                //**********************以下はSQLの前半です**************
//テーブルが存在する場合は、まずテーブルを削除します
$sqls .= "DROP TABLE IF EXISTS $tablename;n";
//テーブル構造を読み取る
$rs = mysql_query("SHOW CREATE TABLE $tablename",$this->mysql_link); $row=mysql_fetch_row($rs);
// SQL を形成するためのテーブル構造を取得します
$sqls.=$row['1'].";nn";
unset($rs);
unset($row);
                                                //**********************以下はSQLの後半です**************
//テーブル内のすべてのデータを検索します
$rs=mysql_query("select * from $tablename",$this->mysql_link);
//テーブル内のフィールドの数
$field=mysql_num_fields($rs);
//次の SQL ステートメントを作成します: "INSERT INTO `groups` VALUES('1499e0ca25988d','Director','','0');"
while($rows=mysql_fetch_row($rs)){
​​​​​​​​ $sqls.="INSERT INTO `$tablename` VALUES(";
for($i=0;$i $sqls.=$comma."'".$rows[$i]."'";
$comma=',';
}
$sqls.=");nnn";
}
}
$backfilepath=$this->dataDir.date("Ymdhis",time()).'.sql';

//ファイルを書き込む
$filehandle = fopen($backfilepath, "w");
fwrite($filehandle, $sqls);
fclose($filehandle);
}
プライベート関数 delarray($array){ // 受信配列を処理します
foreach($array as $tables){
’’ s ’to s s s s' out out out out an — ‐ ‐ ‐ ‐ ‐ ‐ eは($ tables == '*'){ $newtables=mysql_list_tables($this->dbName,$this->mysql_link);
$tableList = array();
for ($i = 0; $i array_push($tableList,mysql_tablename($newtables, $i));
}
$tableList=$tableList;
}その他{
$tableList=$array;
休憩;
}
}
return $tableList;
}
}
?>

http://www.bkjia.com/PHPjc/630673.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/630673.html技術記事インターネット上で N 種類のデータベース バックアップ クラス コードを検索するだけで済みます。ここで、いくつかの優れたデータベース バックアップ モデルを要約します。これが皆さんの役に立つことを願っています。 データベース バックアップ クラスの使用法: 世代...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!