Rumah > Artikel > pembangunan bahagian belakang > Cara membuat sandaran pangkalan data dengan kerap menggunakan fungsi PHP
Dalam era maklumat Internet hari ini, sandaran data menjadi semakin penting. Pangkalan data ialah komponen teras yang diperlukan untuk mengekalkan tapak web, aplikasi dan perkhidmatan dalam talian yang lain. Oleh itu, sandaran pangkalan data secara berkala sangat diperlukan. Artikel ini akan menerangkan cara menggunakan fungsi PHP untuk membuat sandaran pangkalan data secara kerap.
Sebelum membuat sandaran pangkalan data dalam PHP, anda perlu mengkonfigurasi parameter pangkalan data terlebih dahulu. Di sini kami menggunakan pangkalan data MySQL biasa sebagai contoh. Tentukan alamat hos, nama pengguna, kata laluan dan nama pangkalan data pangkalan data MySQL dalam fail konfigurasi. Parameter ini adalah maklumat yang diperlukan untuk mewujudkan sambungan pangkalan data. Berikut ialah contoh kod
define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASS', ''); define('DB_NAME', 'test_db');
Selepas mengkonfigurasi parameter pangkalan data, anda perlu menyambung ke pangkalan data MySQL, anda boleh menggunakan perpustakaan mysqli dalam PHP. Berikut ialah contoh kod untuk menyambung ke pangkalan data:
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); if (mysqli_connect_errno()) { echo "连接 MySQL 失败: " . mysqli_connect_error(); exit(); }
Selepas menyambung ke pangkalan data, anda boleh menggunakan fungsi PHP untuk menyandarkan pangkalan data. PHP menyediakan tiga kaedah untuk membuat sandaran pangkalan data:
(1) Gunakan arahan mysqldump untuk membuat sandaran
mysqldump -h localhost -u root -p{password} test_db > /path/to/backup.sql
Antaranya, parameter -h ialah alamat hos pangkalan data, -u ialah nama pengguna, dan -p ialah Kata Laluan, test_db ialah nama pangkalan data yang akan disandarkan, dan laluan selepas > Dalam PHP, anda boleh menggunakan fungsi exec untuk melaksanakan perintah mysqldump. Contoh kod:
$backup_file = "/path/to/backup.sql"; $mysqldump_cmd = "mysqldump -h ".DB_HOST." -u ".DB_USER." -p".DB_PASS." ".DB_NAME." > ".$backup_file; system($mysqldump_cmd);
(2) Gunakan pernyataan SELECT INTO OUTFILE untuk membuat sandaran
SELECT * INTO OUTFILE '/path/to/backup.sql' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY ' ' FROM table_name;
Antaranya, table_name ialah nama jadual yang akan disandarkan dan /path/to/ backup.sql ialah laluan fail sandaran. Contoh kod:
$backup_file = "/path/to/backup.sql"; $sql = "SELECT * INTO OUTFILE '".$backup_file."' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table_name;"; $mysqli->query($sql);
(3) Gunakan fungsi PHP mysqldump-php untuk membuat sandaran
$db = new mysqldump(DB_NAME,DB_USER,DB_PASS,DB_HOST); $db->start($backup_file);
di mana $backup_file ialah laluan fail sandaran. Anda perlu memuat turun perpustakaan mysqldump-php terlebih dahulu. Anda boleh memasangnya melalui komposer atau memuat turun kod sumber daripada GitHub. Kemudian muatkan perpustakaan dalam kod PHP dan gunakan fungsi mysqldump yang disediakan dalam perpustakaan untuk sandaran. Contoh kod:
require_once '/path/to/mysqldump.php'; use IfsnopMysqldump as mysqldump; $backup_file = "/path/to/backup.sql"; $db = new mysqldump(DB_NAME,DB_USER,DB_PASS,DB_HOST); $db->start($backup_file);
Sandaran biasa boleh dilakukan menggunakan tugas cron. Tugas cron ialah alat untuk melaksanakan tugas dalam sistem Linux. Kita hanya perlu menetapkan masa pelaksanaan tugas dan laluan fail pelaksanaan dalam crontab. Contohnya:
5 1 * * * /usr/bin/php /path/to/backup.php
Perintah ini bermaksud untuk melaksanakan tugas sandaran pada 1:05 pagi setiap hari dan /path/to/backup.php ialah laluan fail PHP untuk melaksanakan sandaran.
Ringkasnya, adalah sangat mudah untuk menggunakan fungsi PHP untuk menyandarkan pangkalan data dengan kerap. Dengan hanya beberapa baris kod, anda boleh membuat sandaran pangkalan data anda dan mencapai sandaran biasa. Atas sebab keselamatan, fail sandaran perlu disimpan di lokasi yang selamat. Pada masa yang sama, perlu diperhatikan bahawa proses sandaran menggunakan sejumlah besar sumber sistem Untuk pangkalan data yang besar, sandaran mungkin mengambil masa berjam-jam atau berhari-hari untuk disiapkan. Oleh itu, sandaran perlu disesuaikan dengan sewajarnya mengikut saiz pangkalan data dan keadaan sumber pelayan.
Atas ialah kandungan terperinci Cara membuat sandaran pangkalan data dengan kerap menggunakan fungsi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!