ホームページ  >  記事  >  バックエンド開発  >  PHP および MySQL データベースのバックアップとリカバリ

PHP および MySQL データベースのバックアップとリカバリ

PHPz
PHPzオリジナル
2023-05-16 08:00:071448ブラウズ

インターネットの急速な発展に伴い、Web サイトの人気と用途も増え続けています。 Web サイト開発者と Web サイト管理者にとって、Web サイト データのセキュリティを確保し、効率的にバックアップすることが必要なタスクになっています。データのバックアップ プロセス中に、MySQL データベースと PHP は最も一般的に使用されるツールの 1 つです。この記事では、PHP と MySQL を使用してデータベースのバックアップとリカバリを実行する方法を紹介します。

1. MySQL データベースのバックアップ

MySQL は現在最も人気のあるオープン ソース リレーショナル データベースであり、MySQL データベースをバックアップするには 2 つの方法があります: ターミナル コマンド ラインを使用したバックアップと、 PHPプログラム。ここでは主にPHPプログラムによるバックアップ方法を紹介します。

1.1 データベースへの接続

データベースをバックアップするには、まず MySQL データベースに接続する必要があります。データベースへの接続には、mysqli_connect 関数または PDO クラスを使用できます。以下は、mysqli_connect 関数のサンプル コードです。

$servername = "localhost"; // 数据库所在的服务器名称
$username = "username"; // 登陆数据库的用户名
$password = "password"; // 用户名对应的密码
$dbname = "mydb"; // 要连接的数据库名称

// 创建数据库连接
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检测连接是否成功
if (!$conn) {
    die("连接失败:" . mysqli_connect_error());
}

1.2 バックアップ コマンドの実行

接続が成功したら、MySQL の mysqldump コマンドを使用してデータベースをバックアップできます。 mysqldump は、データベース全体または単一のテーブルをファイルにバックアップできるコマンド ライン ツールです。コマンドパラメータが豊富で、バックアップの内容や形式を柔軟にカスタマイズできます。

以下は、PHP プログラムを通じて mysqldump コマンドを実行してデータベースをバックアップするためのサンプル コードです。

// 执行备份命令
$backup_file = 'backup.sql'; // 备份文件名
$cmd = 'mysqldump -h '.$servername.' -u '.$username.' -p'.$password.' '.$dbname.' > '.$backup_file;
system($cmd, $retval);

// 检查备份结果
if ($retval == 0) {
    echo "备份成功";
} else {
    echo "备份失败";
}

バックアップ ファイルは、圧縮ツールを使用して圧縮すると、ファイル サイズを削減でき、バックアップ速度を上げます。バックアップ ファイルは安全な場所 ​​(できればローカル ハード ドライブまたは外部記憶装置) に保管し、定期的に更新する必要があります。

2. MySQL データベースの復元

データが誤って失われた場合、またはバックアップされた MySQL データベースを復元する必要がある場合は、次の方法を使用して復元できます。

2.1 データベースへの接続

MySQL データベースのバックアップと同様に、まず MySQL データベースに接続する必要があります。以下は、mysqli_connect 経由で MySQL データベースに接続するためのサンプル コードです。

$servername = "localhost"; // 数据库所在的服务器名称
$username = "username"; // 登陆数据库的用户名
$password = "password"; // 用户名对应的密码
$dbname = "mydb"; // 要连接的数据库名称

// 创建数据库连接
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检测连接是否成功
if (!$conn) {
    die("连接失败:" . mysqli_connect_error());
}

2.2 回復コマンドの実行

接続が成功したら、MySQL の mysql コマンドを使用してデータベースを復元できます。 mysql は、バックアップされたデータベースに対して回復操作を実行できるコマンド ライン ツールです。コマンドパラメータが豊富で、リカバリ内容やリカバリ形式を柔軟にカスタマイズできます。

以下は、PHP プログラムを通じて mysql コマンドを実行してデータベースを復元するコード例です。

// 执行恢复命令
$backup_file = 'backup.sql'; // 备份文件名
$cmd = 'mysql -h '.$servername.' -u '.$username.' -p'.$password.' '.$dbname.' < '.$backup_file;
system($cmd, $retval);

// 检查恢复结果
if ($retval == 0) {
    echo "恢复成功";
} else {
    echo "恢复失败";
}

復元プロセス中は、ファイルの形式とバージョンに十分な注意を払う必要があります。そうしないと、データ形式に互換性がないか、データが失われる可能性があります。データの復元が完了したら、データ比較ソフトウェアを使用してバックアップの前後のデータを比較し、データの整合性と整合性を確保することをお勧めします。

概要

PHP と MySQL を使用したデータベースのバックアップとリカバリは、非常にシンプルで効率的な方法です。バックアップとリカバリのプロセス中に注意する必要がある詳細が多数あるため、MySQL のドキュメントとコマンドのヘルプ ドキュメントを注意深く読む必要があります。バックアップとリカバリのプロセス中は、データのセキュリティと整合性に注意を払う必要があり、データ バックアップ ファイルが適切に保存されている必要があります。

以上がPHP および MySQL データベースのバックアップとリカバリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。