Heim  >  Artikel  >  Backend-Entwicklung  >  Sicherung und Wiederherstellung von PHP- und Memcached-Datenbanken

Sicherung und Wiederherstellung von PHP- und Memcached-Datenbanken

PHPz
PHPzOriginal
2023-05-15 21:12:041524Durchsuche

Mit der rasanten Entwicklung des Internets ist die groß angelegte Sicherung und Wiederherstellung von MySQL-Datenbanken zu einer der wesentlichen Fähigkeiten für große Unternehmen und Websites geworden. Mit der weit verbreiteten Anwendung von Memcached ist auch die Sicherung und Wiederherstellung von Memcached zu einem wichtigen Thema geworden. Als eine der Hauptsprachen für die Webentwicklung verfügt PHP über einzigartige Vorteile und Fähigkeiten bei der Handhabung der Sicherung und Wiederherstellung von MySQL und Memcached. In diesem Artikel wird die Implementierungsmethode der PHP-Verarbeitung von MySQL und Memcached-Sicherung und -Wiederherstellung ausführlich vorgestellt.

1. PHP- und MySQL-Sicherung und -Wiederherstellung

1. Unter „MySQL-Sicherung“ versteht man die Sicherung der Daten- und Tabellenstruktur in der Datenbank auf der Festplatte des Servers zur Verwendung bei Bedarf. PHP implementiert die Sicherung durch Aufrufen des Befehls mysqldump. Der Befehl mysqldump schreibt die Sicherungsdatei standardmäßig in eine Datei auf der Festplatte. Sie müssen daher sicherstellen, dass PHP über Schreibberechtigung für das Verzeichnis verfügt.

Der PHP-Code zum Sichern der Datenbank lautet wie folgt:

<?php
//数据库连接信息
$username = "root";
$password = "password";
$host = "localhost";
$database = "database_name";

//备份文件名
$filename = "./backup_" . date("Y_m_d_H_i_s") . ".sql";

//执行备份命令
$command = "mysqldump --opt -h{$host} -u{$username} -p{$password} {$database}>{$filename}";
exec($command, $output, $return_var);

//判断备份是否成功
if($return_var == 0){
    echo "备份成功!";
}else{
    echo "备份失败:".implode(",", $output);
}
?>

2. MySQL wiederherstellen

Wenn die Datenbank wiederhergestellt werden muss, kann PHP die Datenbank auch zwischen verschiedenen Versionen wiederherstellen, indem der Befehl mysql aufgerufen wird. Es ist zu beachten, dass vor der Datenbankwiederherstellung eine leere Zieldatenbank erstellt werden muss, andernfalls kann der Wiederherstellungsbefehl nicht verwendet werden.

Der PHP-Code zum Wiederherstellen der Datenbank lautet wie folgt:

<?php
//数据库连接信息
$username = "root";
$password = "password";
$host = "localhost";
$database = "database_name";

//备份文件名
$filename = "./backup_2020_05_10_01_23_45.sql";

//执行恢复命令
$command = "mysql -h{$host} -u{$username} -p{$password} {$database}<{$filename}";
exec($command, $output, $return_var);

//判断恢复是否成功
if($return_var == 0){
    echo "恢复成功!";
}else{
    echo "恢复失败:".implode(",", $output);
}
?>

2. PHP- und Memcached-Sicherung und -Wiederherstellung

1. Sichern Sie Memcached

Memcached ist ein Hochgeschwindigkeits-Speicherobjekt-Cache-System und dessen Sicherung und Wiederherstellung Die Techniken unterscheiden sich geringfügig von denen von MySQL. Beim Sichern von Memcached müssen die Cache-Daten in eine Datei geschrieben und auf dem Sicherungsserver abgelegt werden. Hier verwenden wir zunächst PHP, um eine Verbindung zum Memcached-Server herzustellen, die zwischengespeicherten Daten zu lesen und sie in die Festplattendatei zu schreiben.

Der PHP-Code zum Sichern von Memcached lautet wie folgt:

<?php
//Memcached连接信息
$servers = array(
    array("127.0.0.1", 11211, 10),
);

//备份文件名
$filename = "./backup_" . date("Y_m_d_H_i_s") . ".dat";

//连接Memcached
$memcache_obj = new Memcache;
foreach($servers as $server){
    $memcache_obj->addServer($server[0], $server[1], true, $server[2]);
}

//获取所有键值对
$all_items = $memcache_obj->getAllKeys();
$fp = fopen($filename, 'wb');

//把键值对写入文件
foreach($all_items as $item){
    $value = $memcache_obj->get($item);
    fwrite($fp, $item . "    " . $value . "
");
}

fclose($fp);

//输出备份文件名
echo $filename;
?>

2. Memcached wiederherstellen

Wenn wir Memcached wiederherstellen müssen, müssen wir die Sicherungsdatei öffnen, über PHP eine Verbindung zum Memcached-Server herstellen und den Schlüssel schreiben. Wertepaare in der Sicherungsdatei in die Memcached-Mitte kopieren. Es ist zu beachten, dass der Memcached-Server vor dem Schreiben gelöscht werden muss.

Der PHP-Code zum Wiederherstellen von Memcached lautet wie folgt:

<?php
//Memcached连接信息
$servers = array(
    array("127.0.0.1", 11211, 10),
);

//备份文件名
$filename = "./backup_2020_05_10_01_23_45.dat";

//连接Memcached
$memcache_obj = new Memcache;
foreach($servers as $server){
    $memcache_obj->addServer($server[0], $server[1], true, $server[2]);
}

//读取备份文件中的键值对,并写入Memcached
$fp = fopen($filename, 'rb');
$memcache_obj->flush();

while(!feof($fp)){
    $line = fgets($fp);
    $arr = explode("    ", $line);
    if(count($arr) == 2){
        $memcache_obj->set($arr[0], $arr[1], 0, 0);
    }
}
fclose($fp);

//输出恢复成功信息
echo "恢复成功!";
?>

Zusammenfassend lässt sich sagen, dass die PHP-Verarbeitung von MySQL- und Memcached-Sicherung und -Wiederherstellung eine wichtige Fähigkeit ist, um Datensicherung und -wiederherstellung zu erreichen. Durch Aufrufen der Befehle mysqldump und mysql kann eine MySQL-Sicherung und -Wiederherstellung erreicht werden. Beim Sichern und Wiederherstellen von Memcached müssen die Schlüssel-Wert-Paare einzeln gelesen und in die Datei geschrieben werden. Mit den oben genannten Methoden können Unternehmen und Websites MySQL und Memcached problemlos sichern und wiederherstellen, um die Datenzuverlässigkeit sicherzustellen.

Das obige ist der detaillierte Inhalt vonSicherung und Wiederherstellung von PHP- und Memcached-Datenbanken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn