Bảo trì cơ sở dữ liệu MySQL đúng cách


8

Tôi hy vọng điều này không quá rộng của một câu hỏi. Tôi chắc chắn rằng nó sẽ có thể giúp tôi và bất kỳ dba nào trong tương lai vấp phải nó.

Tôi là một quản trị viên hệ thống được đưa vào danh sách DBA (vì tôi đã giúp CEO có triển vọng của mình, vì vậy tôi rõ ràng có thể quản lý cơ sở dữ liệu của chúng tôi!). Nó không phải là lớn hay bận rộn của một máy chủ cơ sở dữ liệu ... một mysqldump có kích thước khoảng 6GB và chúng tôi đã mất 5 năm để có được nó lớn như vậy. Munin báo cáo rằng chúng tôi trung bình 40-60 truy vấn một giây vào giờ cao điểm của chúng tôi.

Sếp của tôi đã trả tiền cho tôi để tham gia khóa học quản trị hệ thống Đại học Oracle, nhưng đã trải qua nó, nó chỉ đơn giản giải thích các phần khác nhau của máy chủ mysql, những gì làm và cách họ làm điều đó. Nhưng nó không sâu sắc và bạn chắc chắn không tham gia khóa học DBA đó.

Vậy với tư cách là DBA hiện tại, tôi nên làm gì để đảm bảo mọi thứ đều hoạt động trơn tru? Có nhiệm vụ bảo trì hàng ngày tôi có thể thực hiện? Có số liệu nhất định tôi nên kiểm tra? Hay nói cách khác, là các DBA, BẠN làm gì hàng ngày để giữ mọi thứ trong tình trạng tốt?

Nếu nó sẽ giúp điều chỉnh câu trả lời một chút, đây là một số chi tiết cụ thể. Chúng tôi có 171 bàn, tất cả trừ 3 bàn là innodb, những bàn khác là myisam. Chúng tôi có bản sao Master / Slave được thiết lập giữa trung tâm dữ liệu chính và trang khôi phục thảm họa của chúng tôi, sử dụng RBR. Phiên bản là 5.5.28.

Tôi có thể làm gì?

Câu trả lời:


10

Điều đầu tiên đầu tiên. Hãy chắc chắn rằng bạn đã phát triển và ghi lại chiến lược khắc phục thảm họa (DR). Dành thời gian suy nghĩ về những cách mà mọi thứ có thể đi sai, cách phục hồi từ chúng và kiểm tra chúng để có ý tưởng về việc sẽ mất bao lâu, đặc biệt là khi khôi phục từ bản sao lưu. Một số ý kiến ​​chung:

  • mysql bị lỗi, nhưng máy chủ vẫn ổn: sửa lỗi và khởi động mysql.
  • MySQL phải được khôi phục từ bản sao lưu: khôi phục từ bản sao lưu và bắt đầu mysql <- kiểm tra điều này trước khi nó trở thành việc bạn phải làm trong trường hợp khẩn cấp.
  • Máy chủ đã chết và phải được thay thế: đặt máy chủ thay thế tại chỗ và khôi phục từ bản sao lưu.

Khi bạn có chiến lược DR và ​​phương pháp được phát triển để kiểm tra các bản sao lưu của mình, bạn có thể chuyển sang các tác vụ định kỳ hơn:

  • kiểm tra quá trình khôi phục của bạn thường xuyên. Điều này đảm bảo sự quen thuộc trong trường hợp cần thiết.
  • đảm bảo chỉ số thích hợp. Nếu bạn đang sử dụng máy chủ percona, bạn có thể nhận được số liệu thống kê về các chỉ mục không được sử dụng sau một thời gian nhất định (tháng hoặc lâu hơn)
  • xem xét truy vấn chậm. Cho phép nhật ký truy vấn chậm với thời gian truy vấn dài khoảng 1 giây hoặc lâu hơn và sử dụng pt-query-digest để xem xét chúng trên cơ sở hàng tuần / hàng tháng.
  • đọc http://www.mysqlperformanceblog.com/ và blog từ http://planet.mysql.com/ .. trên một cơ sở dữ liệu nhỏ như vậy, bạn sẽ hiếm khi gặp nhiều vấn đề về hiệu suất quan tâm. Vì vậy, bạn sẽ có nhiều thời gian để đọc về các vấn đề thú vị và cách giải quyết chúng.

Cảm ơn các liên kết và các đề xuất. Điều này cho tôi một điểm khởi đầu tốt.
Safado

1

Điều gì về sao lưu cho cả dữ liệu và chương trình? Xem lại phần cứng và lưu trữ mà MySQL đang ngồi Xem lại tất cả các nhật ký trên cơ sở hàng ngày hoặc kịp thời Không gian đĩa ngay cả khi tự động mở rộng - cần được xem Hãy chắc chắn rằng một người đang thực hiện công việc (tổ chức) DBA - xem lại chính sách cho các loại dữ liệu và ai đang truy cập nó Giữ cho cơ sở dữ liệu của bạn được cập nhật - trong lý do Chuẩn bị cho các thảm họa khác nhau và khắc phục sau những thảm họa đó

/ Đánh dấu

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.