Tất cả cơ sở dữ liệu MySQL bị mất qua đêm


15

Sau khi một cuộc gọi từ một khách hàng nói rằng trang web của anh ta bị sập, tôi thấy rằng MySQL trên máy chủ RackSpace Cloud Windows 2008 của chúng tôi không chạy. Tôi đã khởi động lại MySQL nhưng gặp lỗi 'Truy cập bị từ chối vì người dùng' trong trình duyệt cho tất cả các trang web có cơ sở dữ liệu MySQL. Khi tôi tìm trong MySql Server 5.5 / data, không có thư mục nào ngoài mysql và Performance_schema. Nó xuất hiện tất cả các cơ sở dữ liệu và dữ liệu đã bị xóa. Có ai biết những gì có thể đã xảy ra và dữ liệu đã đi đâu? Trên hết tôi chỉ thấy máy chủ này bị thiếu trong dịch vụ sao lưu của chúng tôi.

ps xuất hiện sau khi cập nhật windows lúc 4:01 sáng nay.


Có bất kỳ mục liên quan trong nhật ký hệ thống và MySQL của bạn?
user9517 được hỗ trợGoFundMonica

1
"Trên hết tôi chỉ thấy máy chủ này bị thiếu trong dịch vụ sao lưu của chúng tôi." Ôi.
Tom O'Connor

tệp nhật ký bắt đầu lúc 09:00 sáng nay khi tôi khởi động MySQL: InnoDB: Tệp nhật ký. \ ib_logfile0 không tồn tại: mới được tạo InnoDB: Đặt tệp nhật ký. \ ib_logfile0 kích thước thành 5 MB InnoDB : đợi đã ...
Iain

1
Điều này nhiều hơn mương cuối, nhưng có lẽ bạn có thể thử một số phần mềm khôi phục dữ liệu. Tuy nhiên, bạn nên tắt máy chủ càng sớm càng tốt và truy cập các ổ đĩa ngoại tuyến.
Dan

7
Bạn có chắc là bạn đang tìm đúng thư mục? Người ta có thể đã thay đổi các datadirtệp cấu hình mà không tải lại MySQL và sau đó sự cố này chỉ xuất hiện sau khi khởi động lại MySQL (có thể được kích hoạt bởi bản cập nhật hệ thống).
gertvdijk

Câu trả lời:


32
  1. Liên hệ với bộ phận hỗ trợ của Rackspace .. Đó là những gì họ đang ở đó.
  2. Làm mọi thứ họ đề nghị.
  3. Nếu điều đó không hiệu quả, hãy thử gợi ý của Dan về phần mềm khôi phục dữ liệu.
  4. Sử dụng điều này như một cơ hội để phát triển và học tập.

Luôn đảm bảo rằng tất cả các máy chủ của bạn được sao lưu và kiểm tra các bản sao lưu thường xuyên. Không có điểm nào trong việc có một dịch vụ sao lưu nếu bạn chưa bao giờ thực sự kiểm tra rằng bạn có thể khôi phục từ đó.

Oh, và tắt cập nhật tự động. Chỉ bao giờ thực hiện chúng một khi bạn đã kiểm tra tác động của bản cập nhật, tốt nhất là trên một máy chủ được cấu hình giống hệt nhau.


6
+1 Đây thực sự là một câu trả lời chính tắc cho các câu hỏi hỏi cách khôi phục dữ liệu chưa được sao lưu.
dunxd

2
Cảm ơn mọi người đã giúp đỡ. gertvdijk đưa tôi vào đúng dòng khi tìm thấy các thư mục dữ liệu trong Chương trình Tệp / MySQL cũng như Chương trình / MySQL và được khôi phục từ sự kết hợp của các thư mục dữ liệu và tệp ibdata1 sau khi cài đặt lại MySQL. Về nguyên nhân của vấn đề ban đầu gây ra tham nhũng và ngăn chặn MySQL bắt đầu, manh mối duy nhất tôi có là cập nhật Windows vào lúc 4 giờ sáng nay nhưng không thể nói đó là điều chắc chắn. Đã nhấn mạnh máy chủ này được bỏ qua khỏi chương trình sao lưu và đó sẽ là một trong những vấn đề không.
Iain

1
Bạn nên xem xét việc thay đổi cài đặt máy chủ sao cho các bản cập nhật hệ thống không được cài đặt tự động và không được giám sát, trừ khi bạn kiểm soát bằng một số phương tiện khác chính xác là bản cập nhật nào được cài đặt. Điều gì xảy ra nếu một bản cập nhật thay đổi hành vi của hệ thống theo cách phá vỡ các trang web của khách hàng của bạn?
một CVn

5
Đây là flamebait đường biên nhưng xem xét việc chuyển cơ sở dữ liệu mysql của bạn sang máy chủ linux. Các bản cập nhật bảo mật tự động của họ không bao giờ khởi động lại máy chủ và mọi nhà cung cấp phân phối chính sẽ kiểm tra tính tương thích của các bản cập nhật với một sơ đồ lõi như mysql (Mặt khác, cả Microsoft và Oracle đều không kiểm tra mysql với bản cập nhật Windows). Một cronjob sao lưu có lẽ dễ dàng và đáng tin cậy hơn một chút so với hầu hết các phần mềm sao lưu windows.
Bryan Waters
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.