Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để sao lưu cơ sở dữ liệu MySQL trong PHP?

Mặc dù bạn có thể thực hiện các lệnh sao lưu từ PHP, nhưng chúng không thực sự liên quan gì đến PHP. Đó là tất cả về MySQL.

Tôi khuyên bạn nên sử dụng tiện ích mysqldump để sao lưu cơ sở dữ liệu của bạn. Bạn có thể tìm thấy tài liệu tại đây: http://dev.mysql. com / doc / refman / 5.1 / en / mysqldump.html .

Cách sử dụng cơ bản của mysqldump là

mysqldump -u user_name -p name-of-database >file_to_write_to.sql

Sau đó, bạn có thể khôi phục bản sao lưu bằng lệnh như

mysql -u user_name -p <file_to_read_from.sql

Bạn có quyền truy cập vào cron không? Tôi khuyên bạn nên tạo một tập lệnh PHP chạy mysqldump như một công việc cron. Đó sẽ là một cái gì đó giống như

<?php

$filename='database_backup_'.date('G_a_m_d_y').'.sql';

$result=exec('mysqldump database_name --password=your_pass --user=root --single-transaction >/var/backups/'.$filename,$output);

if(empty($output)){/* no output is good */}
else {/* we have something to log the output here*/}

Nếu không có mysqldump, bài viết mô tả một phương pháp khác, sử dụng SELECT INTO OUTFILELOAD DATA INFILE các lệnh. Kết nối duy nhất với PHP là bạn đang sử dụng PHP để kết nối với cơ sở dữ liệu và thực thi các lệnh SQL. Bạn cũng có thể thực hiện việc này từ chương trình MySQL dòng lệnh, trình giám sát MySQL.

Nó khá đơn giản, bạn đang viết một tệp SQL bằng một lệnh và tải / thực thi nó khi cần khôi phục.

Bạn có thể tìm tài liệu để chọn trong outfile tại đây (chỉ cần tìm kiếm trang cho outfile). LOAD DATA INFILE về cơ bản là mặt trái của điều này. Xem tại đây cho tài liệu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL - Không thể tạo khóa ngoài

  2. Cập nhật đồng thời MySQL

  3. MYSQL trả về các hàng trùng lặp

  4. Giải thích MySQL giải thích các phép toán kế hoạch thực thi, sự khác biệt giữa hai kế hoạch

  5. Khắc phục sự cố:Lỗi MySQL / MariaDB # 1044 &# 1045 Quyền truy cập bị Từ chối cho Người dùng