2010-09-20 35 views
10

Cách sao lưu cơ sở dữ liệu mysql và tải xuống dưới dạng tệp .sql bằng cách sử dụng Mã PHPSao lưu cơ sở dữ liệu mysql và tải xuống dưới dạng tệp

+1

Tôi muốn tải các tập tin sử dụng PHP kịch bản, từ tôi Admin Panel – mrN

+0

Tiếp theo bài viết sẽ giúp sao lưu và tải về cơ sở dữ liệu mysql dưới dạng file sql hoặc GZ format.Also có thể cơ sở dữ liệu đầy đủ hoặc cụ thể bảng sao lưu. [http://faq.pctrickers.com/creating-mysql-database-backup-using-php/](http://faq.pctrickers.com/creating-mysql-database-backup-using-php/) –

Trả lời

5

Một giải pháp rất đơn giản sẽ là một cái gì đó tương tự (ví dụ đầu tiên): http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/using-php-to-backup-mysql-databases.aspx

Đương nhiên điều này sẽ chỉ làm cho một bãi chứa dữ liệu của bảng.

gì bạn có thể làm là sử dụng mã này:

http://snipplr.com/view/173/mysql-dump/

gì mã này, không có gì thực sự được mô tả của bảng (nghĩa là cấu trúc của nó), tạo ra tất cả các bảng và đẩy dữ liệu. khá giống với bất kỳ công cụ nào khác.

Sau đó, nó chỉ là vấn đề tiết kiệm nó từ chuỗi vào một tập tin (file_put_contents() ví dụ hoặc một cái gì đó tương tự, tùy thuộc vào sở thích của bạn và nhu cầu)

+0

Bạn có thể tự nhiên xuất ra nội dung của chuỗi và tải xuống lực. – AlexejK

+0

Những công dụng này không dùng nữa 'mysql_ *'. Nếu có điều gì đó cập nhật hơn, tôi thực sự muốn biết. Tôi không thể sử dụng phpMyAdmin. – starleaf1

+0

Mã này không bao gồm các khóa (ngoại lai, tổng hợp) bạn đã tạo trừ khóa chính. –

0

Bạn có phpmyadmin không? Nếu vậy bạn có thể xuất nó từ đó bằng cách nhấp vào "Xuất" ở trên cùng (trên bảng/db đã chọn).

+0

I muốn tải xuống tệp bằng cách sử dụng tập lệnh PHP, từ Bảng điều khiển quản trị của tôi – mrN

3
mysqldump -u username -p password database > file 

Hoặc, phpMyAdmin cũng có thể thực hiện việc này với công cụ Xuất.

+0

Nhanh hơn nhiều so với phpMyAdmin, nhưng yêu cầu quyền truy cập trình bao. Mặt khác, PMA sẽ hoạt động tốt nếu bạn chỉ có quyền truy cập web. – Piskvor

+0

Tôi muốn tải tập tin bằng cách sử dụng tập lệnh PHP, từ bảng quản trị của tôi – mrN

1

Sử dụng phpmyadmin

Edit:

Bạn có thể sử dụng shell_exec để thực hiện lệnh này

cơ sở dữ liệu mật khẩu mysqldump -u username -p> tập tin

này sẽ tạo ra một tập tin dump và sau đó chuyển hướng người dùng đến tệp được tạo này.

+0

Tôi muốn tải xuống tệp bằng cách sử dụng tập lệnh PHP, từ Bảng điều khiển quản trị của tôi – mrN

-2

Nếu bạn có phpMyAdmin, bạn có thể làm điều đó trong menu Xuất.

Nếu bạn tìm kiếm công cụ dòng lệnh, hãy xem mysqldump.

0

Tôi biết nó hơi muộn nhưng hy vọng ai đó sẽ tìm thấy điều này.

//php file - html code: 
    require_once 'connect.php'; //holds database variables with connect details 
    require_once 'Admin_DatabaseFiles_Backup.php'; //Include the admin logout script 

<form action="" method="post" class="form form"> 
    <!--<input type="hidden" name="backup" value="1" />--> 
    <div class="float_left w200"> 
     <p> 
      <label class="title">Backup database</label> 
      <span class="left"> 
       <input type="checkbox" name="db" value="1" checked="checked"/> 
      </span> 
     </p> 
     <p> 
      <label class="title">Backup files</label> 
      <span class="left"> 
       <input type="checkbox" name="files" value="1" checked="checked" /> 
      </span> 
     </p> 
    </div> 
    <p class="float_left"> 
     <input type="submit" name="submit" value="Backup" class="button" /> 
    </p> 
</form> 

//php file Admin_DatabaseFiles_Backup.php: 
<?php 


if ($_POST['submit']=="Backup"){ 

    if ($_POST['db'] == "1"){ 

     $directory = "DatabaseFileBackups/"; 
     $dateAndTime = "".date('d-m-Y-H-i-s'); 
     $fileName = "".$dbname.$dateAndTime.".sql"; 
     $backupFile = "mysqldump --user=$dbuser --password='$dbpass' --host=$dbhost $dbname > ".$directory.$fileName; 

     exec($backupFile,$output); 

     if($output == ''){ 
      echo = '<br />Failed To Backup Database!'; 
     }else{ 
      echo = '<br />Database Backup Was Successful!'; 
     } 
    } 

    if ($_POST['files'] == "1"){ 

      echo 'Seleceted files'; 

    } 
} 


?> 
Các vấn đề liên quan