2010-09-29 36 views
5

Tôi có WampServer 2.0 được cài đặt trên Windows trên máy tính xách tay của mình.Làm thế nào để sao lưu cơ sở dữ liệu MySQL trên Windows?

Tôi đang chạy trên đó một ứng dụng mà tôi đã viết. Ứng dụng đang làm việc với cơ sở dữ liệu MySQL.

Tôi muốn tạo bản sao lưu của cơ sở dữ liệu này theo định kỳ.

Cách thực hiện việc này?

Tôi làm cách nào để xác định cron trên Windows?

+0

Bản sao có thể có của [Sao lưu thường xuyên PHP của dữ liệu mysql] (http://stackoverflow.com/questions/38916163/php-regular-backup-of-mysql-data) – e4c5

Trả lời

7

Tương đương sơ bộ crontab -e cho Windows là lệnh at, như trong:

at 22:00 /every:M,T,W,Th,F C:\path\to\mysql\bin\mysqldump.exe ... 

Chạy lệnh at bởi chính nó sẽ liệt kê các công việc bạn đã tạo bằng at.

.

+0

+1 đây là cách tốt nhất. – Ruel

+0

Tôi đồng ý với Ruel. 'at' là một ứng dụng rất gọn gàng mà tôi chưa từng biết đến! Tôi cũng nhận được +1. Nó sẽ là một câu trả lời tốt hơn nếu bạn đưa ra một ví dụ đầy đủ chứ không phải là '...'. Sau khi tôi tìm ra, tôi sẽ cập nhật câu trả lời của bạn.;) –

+0

FYI, trong khi cố gắng chạy 'at' trên Windows với Cygwin, nó nói với tôi rằng nó đã không được chấp nhận và sử dụng schtasks.exe thay vào đó – George

0

Bạn có thể sử dụng tập lệnh bash.

#!/bin/sh 
mysqldump -uroot -ppwd --opt db1 > /sqldata/db1.sql 
mysqldump -uroot -ppwd --opt db2 > /sqldata/db2.sql 

cd /sqldata/ 
tar -zcvf sqldata.tgz *.sql 
cd /scripts/ 
perl emailsql.pl 

http://paulbradley.tv/38/

+0

-1 Anh ta vừa đề cập, anh ta đang ở trên cửa sổ. Từ 'Windows' được đề cập 4 lần trong thẻ. – Ruel

+0

Ngoài ra, bạn có thể kiểm tra: http://developedtraffic.com/2005/02/26/cron-and-database-backups/ –

+0

Với Cygwin Một bash hoạt động trong cửa sổ –

0

Cách phổ biến nhất để sao lưu cơ sở dữ liệu MySQL là sử dụng mysqldump:

  1. mở một dòng lệnh Windows.
  2. Chỉ định thư mục để mysqldump tiện ích

    cd C:Program FilesMySQLMySQL Server 5.7bin

  3. Tạo một bãi chứa cơ sở dữ liệu MySQL của bạn.

mysqldump.exe --user=YourUserName --password=YourPassword --host=localhost --port=3306 --result-file="Pathdump.sql" --databases "DatabaseName"

Ngoài ra, có rất nhiều công cụ của bên thứ ba, có thể thực hiện sao lưu MySQL tự động một cách thường xuyên.

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