Sao lưu máy chủ MySQL


13

Cách tốt nhất để sao lưu máy chủ MySQL là gì? Tôi muốn một phương pháp không yêu cầu đưa xuống máy chủ. Là một cái gì đó giống như sao lưu nóng InnoDB cần thiết hoặc tôi chỉ có thể sử dụng các công cụ sao lưu được cung cấp trong các công cụ Quản trị viên MySQL. Những lợi thế nào người ta cung cấp so với người khác?

Câu trả lời:


12

Chúng tôi sử dụng mysqldump, hoạt động trong khi MySQL đang chạy. Chúng tôi bắt đầu sử dụng mysqldump vì đây là cách dễ nhất để thiết lập khi nhu cầu của chúng tôi còn nhỏ và dường như đáp ứng những nhu cầu đó. Cơ sở dữ liệu của chúng tôi đã phát triển kể từ đó, nhưng chúng tôi vẫn chưa vượt qua mysqldump. Việc nó có phù hợp với bạn hay không sẽ phụ thuộc vào kích thước cơ sở dữ liệu của bạn, tải hoạt động thông thường của chúng và có thể là một loạt các thứ khác.


mysqldump là tuyệt vời. Không giống như các kết xuất nhị phân của một số RDMS khác, theo mặc định, các tệp mysqldump tạo ra là các tệp văn bản với các lệnh sql đầy đủ - chủ yếu là các câu lệnh CREATE TABLE và INSERT cho các hàng. Là các tệp văn bản đơn giản, chúng có thể được thao tác, nén hoặc mã hóa dễ dàng.
nedm

3
mysqldump bị hỏng khi bạn có cơ sở dữ liệu lớn và / hoặc khi bạn dựa vào MyISAM. Chúng tôi có một số cơ sở dữ liệu 400G với rất nhiều chỉ mục cần được xây dựng lại khi nhập kết xuất, để việc khôi phục từ bản sao lưu mất nhiều ngày. Ảnh chụp nhanh LVM cho thời gian phục hồi tốt hơn nhiều khi bạn vượt xa mysqldump.
Nils-Anders Nøttseter

4

hãy xem xtrabackup từ percona - đó là sự thay thế nguồn mở thú vị cho mysqlhotcopy cho cơ sở dữ liệu innodb.

bạn có thể đọc thêm về nó ở đây


3

mysqldump có thể được sử dụng, nhưng nó sẽ không đảm bảo một tập dữ liệu nhất quán , trừ khi bạn khóa tất cả các bảng trong suốt thời gian kết xuất. Điều này sẽ đặt cơ sở dữ liệu ở chế độ chỉ đọc , nhưng sẽ đảm bảo kết xuất phù hợp.

Bạn có thể khóa các bảng bằng lệnh:

FLUSH TABLES WITH READ LOCK;

Và khi bạn kết thúc, bạn có thể mở khóa bằng:

UNLOCK TABLES;

7
mysqldump - giao dịch đơn lẻ sẽ đảm bảo ảnh chụp nhanh nhất quán
Dave Cheney

5
- giao dịch đơn lẻ chỉ hoạt động khi tất cả các bảng của bạn là InnoDB. Các bảng MyISAM không hỗ trợ giao dịch.
Nils-Anders Nøttseter


2

Thiết lập bản sao MySQL . Là một phần thưởng, bạn có được một máy chủ để chạy các công việc báo cáo nặng và mysqldump mà không ảnh hưởng đến db sản xuất chính của bạn.


Hãy nhớ rằng việc sao chép có thể bị trì hoãn và do đó không nhất thiết phải là bản sao lưu đúng thời gian của chủ nhân.

2
Bản sao không sao lưu. Nếu bạn vô tình xóa một cái gì đó trong bản gốc, nô lệ cũng xóa nó. Mặc dù nô lệ rất tốt khi sử dụng mysqldump, vì nó sẽ không ảnh hưởng đến máy chủ sản xuất của bạn (như Dave đã đề cập).
Martijn Heemels


0

Ngoài ra còn có một công cụ gọi là mysqlhotcopy mà tôi đã xem một lần và nghĩ rằng nó có rất nhiều lời hứa - mặc dù không bao giờ sử dụng nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.