Mã sao lưu cơ sở dữ liệu PHP

tập lệnh sao lưu mysql bằng PHP – Có 3 phương pháp tốt nhất bạn có thể sử dụng để từng bước sao lưu toàn bộ cơ sở dữ liệu MySQL của mình. Thực hiện sao lưu cơ sở dữ liệu MySQL bằng PHP. Bạn có thể sử dụng nó để kết xuất toàn bộ cơ sở dữ liệu hoặc chỉ một số bảng

Đây là một tập lệnh PHP tốt nhất nhỏ mà chúng tôi sử dụng để sao lưu cơ sở dữ liệu MySQL trên các máy chủ web Godaddy Linux với Tự động sao lưu cơ sở dữ liệu MySQL Tập lệnh PHP

tập lệnh sao lưu mysql – Thực hiện sao lưu cơ sở dữ liệu MySQL bằng tập lệnh PHP

nội dung

  • tập lệnh sao lưu mysql – Thực hiện sao lưu cơ sở dữ liệu MySQL bằng tập lệnh PHP
    • Làm cách nào để xuất cơ sở dữ liệu trong MySQL bằng mã PHP?
    • Sử dụng mysqldump nhị phân MySQL thông qua PHP
  • Sao lưu cơ sở dữ liệu MySQL bằng cron và php
  • Làm cách nào để sao lưu cơ sở dữ liệu MySQL bằng PHP?
    • Tạo tập lệnh SQL cho cấu trúc/dữ liệu bảng
    • Lưu và tải xuống tệp sao lưu cơ sở dữ liệu
    • Bài viết liên quan

Sử dụng PHP SQL Command thông qua PHP, Sử dụng mysqldump nhị phân của MySQL và Sử dụng giao diện người dùng phpMyAdmin cho các tập lệnh sao lưu mysql

Làm cách nào để xuất cơ sở dữ liệu trong MySQL bằng mã PHP?

tập lệnh sao lưu mysql sử dụng truy vấn SELECT INTO OUTFILE
index. php

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = '##****###';
   
   $link = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $link ) {
      die('Could not connect: ' . mysql_error());
   }
	
   $db_tbl_nm = "members_list";
   $final_result_orignal_recovery_file  = "/tmp/members_list.sql";
   $sql_QQ = "SELECT * INTO OUTFILE '$final_result_orignal_recovery_file' FROM $db_tbl_nm";
   
   mysql_select_db('pakainfo_v1');
   $all_contents = mysql_query( $sql_QQ, $link );
   
   if(! $all_contents ) {
      die('Could not take data backup: ' . mysql_error());
   }
   
   echo "Backedup  data successfully\n";
   
   mysql_close($link);
?>

mục lục. php

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = '##****###';
   
   $link = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $link ) {
      die('Could not connect: ' . mysql_error());
   }
	
   $db_tbl_nm = "members_list";
   $final_result_orignal_recovery_file  = "/tmp/members_list.sql";
   $sql = "LOAD DATA INFILE '$final_result_orignal_recovery_file' INTO TABLE $db_tbl_nm";
   
   mysql_select_db('pakainfo_v1');
   $all_contents = mysql_query( $sql, $link );
   
   if(! $all_contents ) {
      die('Could not load data : ' . mysql_error());
   }
   echo "Loaded  data successfully\n";
   
   mysql_close($link);
?>

Sử dụng mysqldump nhị phân MySQL thông qua PHP

Đơn giản chỉ cần lưu. php thành một phần công việc cron không công khai có thể truy cập được ở phía máy chủ cũng như chạy cpanel chính bằng cron Jobs. đặt tập lệnh cho "sao lưu mysql"

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách sao lưu cơ sở dữ liệu MySQL bằng ngôn ngữ lập trình PHP. Trong thế giới web, điều quan trọng là phải thường xuyên sao lưu trang web và cơ sở dữ liệu của chúng tôi. Bạn không bao giờ biết khi nào bạn sẽ gặp lỗi không mong muốn có thể khiến trang web của bạn ngừng hoạt động

Ở đây tôi sẽ chỉ cho bạn trong ứng dụng PHP sẽ giúp bạn sao lưu theo ý muốn của bạn bất cứ khi nào bạn muốn sao lưu. Mặc dù hầu hết các công ty lưu trữ web đều thực hiện sao lưu cơ sở dữ liệu và trang web của khách hàng hàng ngày, nhưng việc dựa vào họ để tạo bản sao lưu và cung cấp miễn phí cũng rất rủi ro

Không bao giờ có cơ hội khi trang web của bạn đang trên đường. Thực hiện sao lưu thường xuyên

điều kiện tiên quyết

PHP5. 4 – 7. 4. 3, MySQL5. 5 – 8. 0. 17, Máy chủ HTTP Apace 2. 4

Thư mục gốc của dự án

Tạo thư mục gốc của dự án PHP có tên là php-backup-mysql-database trong thư mục htdocs của máy chủ HTTP Apache. Tôi sẽ giữ tất cả các tập lệnh PHP trong thư mục này

Tập lệnh PHP

Tạo một tệp PHP có tên là config. php với mã nguồn dưới đây trong thư mục dự án. Đoạn mã này kiểm tra thư mục gốc của dự án

<?php

	ini_set('display_errors', 'On');

	error_reporting(E_ALL);

	// setting up the web root and server root
	$thisFile = str_replace('\\', '/', __FILE__);
	$docRoot = $_SERVER['DOCUMENT_ROOT'];

	$webRoot = str_replace(array($docRoot, 'config.php'), '', $thisFile);
	$srvRoot = str_replace('config.php', '', $thisFile);

	define('SRV_ROOT', $srvRoot);

	require_once 'common.php';

/*
* End of file config.php
*/

Tạo điểm chung. php với mã nguồn bên dưới trong thư mục dự án. Tệp này thực sự xác định tất cả các chức năng phổ biến cho dự án

<?php

//Database backup
function db_backup($host, $user, $pass, $name, $tables = '*') {
    //connect to database using database credentials
    $dbConn = mysqli_connect($host, $user, $pass, $name) or die('MySQL connect failed. ' . mysqli_connect_error());

    //get all of the tables
    if ($tables == '*') {
        $tables = array();
        //fetch tables from database
        $result = mysqli_query($dbConn, 'SHOW TABLES');
        while ($row = mysqli_fetch_row($result)) {
            $tables[] = $row[0];
        }
    } else {
        $tables = is_array($tables) ? $tables : explode(',', $tables);
    }

    $return = '';
    //cycle through tables
    foreach ($tables as $table) {
        //select data from table
        $result = mysqli_query($dbConn, 'SELECT * FROM ' . $table);
        $num_fields = mysqli_num_fields($result);
        
        //drop table
        $return.= 'DROP TABLE ' . $table . ';';
        $row2 = mysqli_fetch_row(mysqli_query($dbConn, 'SHOW CREATE TABLE ' . $table));
        $return.= "\n\n" . $row2[1] . ";\n\n";

        //insert into statements for each table
        for ($i = 0; $i < $num_fields; $i++) {
            while ($row = mysqli_fetch_row($result)) {
                $return.= 'INSERT INTO ' . $table . ' VALUES(';
                for ($j = 0; $j < $num_fields; $j++) {
                    $row[$j] = addslashes($row[$j]);
                    $row[$j] = preg_replace("#\n#", "\\n", $row[$j]);
                    if (isset($row[$j])) {
                        $return.= '"' . $row[$j] . '"';
                    } else {
                        $return.= '""';
                    }
                    if ($j < ($num_fields - 1)) {
                        $return.= ',';
                    }
                }
                $return.= ");\n";
            }
        }
        $return.="\n\n\n";
    }

    //create a backup file
    $file = SRV_ROOT . 'db-backup-' . time() . '-' . (md5(implode(',', $tables))) . '.sql';

    //write backup sql file to disk
    if ($handle = fopen($file, 'w+')) {
        if (fwrite($handle, $return)) {
            return TRUE;
        }
        fclose($handle);
    }
    return FALSE;
}

Tập lệnh sao lưu

Tạo trang web php php-backup-mysql-database. php với mã nguồn sau. Nó gọi chức năng sao lưu cơ sở dữ liệu

Tệp SQL sao lưu sẽ bao gồm tất cả các bảng có câu lệnh thả, câu lệnh tạo và câu lệnh chèn

<?php
require_once 'config.php';
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8"/>
        <title></title>
    </head>
<body>
    <p><strong>Starting MySQL Database Backup</strong></p>
    <?php
        db_backup('localhost', 'root', 'root', 'roytuts');
    ?>
    <p style="color:green;"><strong>Database Backup Successfully Done</strong></p>
</body>
</html>

Kiểm tra ứng dụng

Chạy tệp trên bằng URL http. //localhost/php-backup-mysql-database/php-backup-mysql-database. php trong trình duyệt sẽ tạo một tệp SQL trong thư mục gốc của dự án và bạn sẽ thấy thông báo sau trên trang web

Làm cách nào để sao lưu cơ sở dữ liệu bằng PHP?

Để sao lưu cơ sở dữ liệu MySQL của bạn bằng phpMyAdmin nhấp vào liên kết "xuất" trên trang chính của phpMyAdmin. Chọn cơ sở dữ liệu bạn muốn sao lưu, kiểm tra các tùy chọn SQL thích hợp và nhập tên cho tệp sao lưu.

Làm cách nào để sao lưu và khôi phục cơ sở dữ liệu MySQL trong PHP?

Cách sao lưu cơ sở dữ liệu MySQL .
Mở phpMyAdmin từ bảng điều khiển lưu trữ web của bạn như cPanel
Chọn cơ sở dữ liệu từ bảng điều hướng thanh bên của phpMyAdmin
Nhấp vào liên kết Xuất từ ​​thanh điều hướng trên cùng
Chọn tùy chọn Tùy chỉnh trong trang Xuất
Chọn các bảng mà bạn muốn sao lưu

Làm cách nào để xuất cơ sở dữ liệu bằng mã PHP?

php $mysqlUserName = 'tên người dùng cơ sở dữ liệu';

Làm cách nào để sao lưu cơ sở dữ liệu của tôi?

Nhấp chuột phải vào cơ sở dữ liệu mà bạn muốn sao lưu, trỏ tới Tác vụ rồi chọn Sao lưu . Trong hộp thoại Sao lưu cơ sở dữ liệu, cơ sở dữ liệu mà bạn đã chọn xuất hiện trong danh sách thả xuống (bạn có thể thay đổi danh sách này thành bất kỳ cơ sở dữ liệu nào khác trên máy chủ).