inflearn logo

Vận hành MySQL·PostgreSQL chạy bằng Docker mà không làm mất dữ liệu — 30 sự cố cơ sở dữ liệu container được DBA đang làm nghề tái hiện

Nếu bạn đang chạy cơ sở dữ liệu bằng Docker, bạn sẽ học cách tự tái hiện trên máy tính của mình 30 tình huống có thể làm mất dữ liệu hoặc khiến dữ liệu không đọc được—từ `down -v`, `prune`, tên thư mục, biến môi trường mật khẩu, việc dừng sau 10 giây, giới hạn bộ nhớ, thẻ image đến sao lưu bằng cách sao chép volume—sau đó đọc log cơ sở dữ liệu để tìm nguyên nhân và khôi phục dữ liệu bằng phục hồi theo thời điểm.

1 học viên đang tham gia khóa học này

Độ khó Trung cấp trở lên

Thời gian Không giới hạn

MySQL
MySQL
database
database
Docker
Docker
PostgreSQL
PostgreSQL
MySQL
MySQL
database
database
Docker
Docker
PostgreSQL
PostgreSQL

Bạn sẽ nhận được điều này sau khi học.

  • Chỉ ra các lệnh/cài đặt làm mất dữ liệu (down -v, prune -a, tên dự án, volume ẩn danh, --rm) trong tệp compose đang dùng.

  • Tránh những cạm bẫy của các thứ chỉ hoạt động 'một lần lúc đầu' như mật khẩu, tập lệnh khởi tạo và kiểm tra tình trạng sức khỏe.

  • Đọc nhật ký buộc dừng và khôi phục, rồi điều chỉnh thời gian chờ tắt, giới hạn bộ nhớ, bộ nhớ dùng chung và dung lượng đĩa cho phù hợp với DB.

  • Kiểm tra và khắc phục những điểm mà múi giờ, bộ ký tự (lỗi hiển thị tiếng Hàn) và quy tắc sắp xếp âm thầm thay đổi trong container.

  • Ghim tag image và diễn tập nâng cấp MySQL 8.0→8.4·PostgreSQL 16→17 bằng bản sao volume.

  • Tạo bản sao lưu nhất quán và đo thời gian khôi phục; dùng nhật ký nhị phân (GTID) và kho lưu trữ WAL để khôi phục dữ liệu về thời điểm ngay trước khi xảy ra sự cố.

"Liệu một lệnh này có thể xóa sạch DB của tôi không?"

Nếu bạn đang chạy DB bằng Docker: từ down -v·prune·tên thư mục·biến môi trường mật khẩu·dừng sau 10 giây·giới hạn bộ nhớ·tag image·đến sao lưu bằng cách sao chép volume, bạn sẽ tự tái hiện trên máy tính của mình 30 tình huống có thể làm mất dữ liệu hoặc khiến dữ liệu không thể đọc được, tìm hiểu nguyên nhân qua log DB, rồi học cả cách khôi phục dữ liệu theo thời điểm.

Phần lớn các khóa học về Docker chỉ dừng lại ở việc khởi chạy DB. Khóa học này đi xa hơn: tập trung vào những thời điểm dữ liệu bị mất hoặc không thể đọc được trong quá trình vận hành DB đã khởi chạy. Tất cả các tình huống đều là kết quả thực thi thực tế; chúng ta sẽ tìm nguyên nhân từ phía DB (nhật ký, quy trình khôi phục, phiên bản tệp, giá trị cấu hình), chứ không phải từ container. Khóa học trình bày nguyên vẹn quy trình kiểm tra mà trưởng nhóm DBA đang làm việc tại một công ty thương mại điện tử lớn áp dụng trong vận hành.

Sau khi hoàn thành khóa học này, bạn sẽ...

  • Chỉ ra các lệnh và thiết lập có thể làm mất dữ liệu trong tệp Compose bạn đang dùng (down -v, prune -a, tên dự án, volume ẩn danh, --rm).

  • Tránh những cái bẫy của các thành phần chỉ hoạt động “một lần duy nhất” như mật khẩu, tập lệnh khởi tạo và kiểm tra tình trạng hoạt động.

  • Đọc nhật ký buộc dừng và khôi phục, rồi điều chỉnh thời gian chờ tắt, giới hạn bộ nhớ, bộ nhớ chia sẻ và dung lượng đĩa cho phù hợp với cơ sở dữ liệu.

  • Kiểm tra và khắc phục những điểm mà múi giờ, bộ ký tự (lỗi hiển thị tiếng Hàn) và quy tắc đối chiếu âm thầm khác biệt trong container.

  • Cố định tag image và diễn tập nâng cấp MySQL 8.0→8.4·PostgreSQL 16→17 bằng bản sao volume.

  • Tạo bản sao lưu nhất quán và đo thời gian khôi phục; sử dụng nhật ký nhị phân (GTID) và kho lưu trữ WAL để khôi phục dữ liệu về thời điểm ngay trước khi xảy ra sự cố.

Khóa học này phù hợp với những người sau đây:

  • Lập trình viên backend vận hành dịch vụ và dự án cá nhân bằng cách chạy MySQL·PostgreSQL trên Docker.

  • Dành cho những ai đã hoàn thành khóa học nhập môn Docker và thắc mắc 'khi vận hành cần chú ý điều gì'?

  • Người vận hành một mình, phải tự lo cả DB tại startup.

  • DBA và SRE cấp junior

Chương trình học (9 phần · 30 bài · khoảng 181 phút)

  • Phần 1. Cơ sở dữ liệu trong container, dữ liệu còn lại ở đâu — Chỉ một lệnh mà đơn hàng đã biến mất, khởi chạy môi trường thực hành, dữ liệu nằm ở đâu

  • Phần 2. Các lệnh xóa dữ liệu — stop·down·down -v·prune, chỉ đổi tên thư mục mà DB đã trống, volume ẩn danh và --rm

  • Phần 3. Những thứ chỉ chạy một lần đầu tiên — Đã đổi mật khẩu nhưng mật khẩu vẫn không đổi, tập lệnh khởi tạo chỉ chạy được một nửa, lời nói dối rằng mọi thứ đã sẵn sàng

  • Mục 4. Cách dừng và khôi phục — docker stop chỉ chờ 10 giây, đọc cách khôi phục sau khi buộc dừng, đặt thời gian chờ trước khi tắt máy

  • Mục 5. Giới hạn bộ nhớ và ổ đĩa — Giới hạn bộ nhớ và OOMKilled, DB nhìn nhận bộ nhớ như thế nào, bộ nhớ dùng chung của PostgreSQL 64MB, ổ đĩa đã đầy

  • Mục 6. Những thiết lập âm thầm thay đổi — Múi giờ: container dùng UTC, tiếng Hàn bị lỗi khi nhập vào, thứ tự sắp xếp thay đổi sau khi đổi image

  • Phần 7. Thẻ image và nâng cấp — Ngày thẻ không đọc được dữ liệu, từ MySQL 8.0 lên 8.4, nâng cấp phiên bản chính của PostgreSQL, diễn tập nâng cấp

  • Phần 8. Sao lưu và khôi phục — Sao chép volume có phải là sao lưu không, tính nhất quán của bản dump, những thứ không có trong bản dump: tài khoản và quyền, đo thời gian khôi phục, quay lại thời điểm ngay trước khi xảy ra sự cố bằng nhật ký nhị phân, khôi phục theo thời điểm bằng lưu trữ WAL

  • Phần 9. Tổng kết — Cổng kết nối, mật khẩu và danh sách kiểm tra vận hành

Môi trường thực hành

Tặng kèm tài liệu thực hành (ZIP) với 30 kịch bản có thể chạy nguyên trạng bằng các image chính thức của MySQL 8.4.13·8.0.44, PostgreSQL 17.7·16.11·17.7-alpine và dữ liệu cửa hàng trực tuyến ảo. Mỗi bài học có một kịch bản; khi chạy, bạn sẽ tái hiện được cảnh giống như trên màn hình bài giảng. Tặng kèm bảng kiểm tra vận hành cơ sở dữ liệu trong container.

Kiến thức cần có trước khi học

  • Có kinh nghiệm sử dụng docker run · docker compose

  • SQL cơ bản (SELECT·INSERT)

  • Máy tính đã cài đặt Docker (khuyến nghị cấp phát bộ nhớ từ 6GB trở lên)

Những nội dung không được đề cập trong khóa học này

  • Cú pháp Docker cơ bản từ đầu

  • Kubernetes·Operator

  • Cấu hình cơ sở dữ liệu được quản lý trên đám mây (như RDS)

  • Tối ưu hóa truy vấn và kế hoạch thực thi

Hướng dẫn

Lời thuyết minh trong slide sử dụng giọng nói tổng hợp. Tất cả dữ liệu đều là dữ liệu giả lập phục vụ đào tạo; các con số có thể thay đổi tùy theo môi trường thực thi.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Lập trình viên backend vận hành các dịch vụ và dự án cá nhân bằng cách khởi chạy MySQL và PostgreSQL trên Docker.

  • Dành cho những người đã hoàn thành khóa học nhập môn Docker và muốn biết cần lưu ý điều gì khi vận hành.

  • Người điều hành duy nhất tại startup, nay còn phải một mình phụ trách cả cơ sở dữ liệu.

  • DBA·SRE cấp junior

Cần biết trước khi bắt đầu?

  • Kinh nghiệm sử dụng docker run · docker compose

  • SQL cơ bản (SELECT·INSERT)

  • Máy tính đã cài đặt Docker (khuyến nghị cấp phát từ 6 GB bộ nhớ trở lên)

Xin chào
Đây là dorian05202988

Xác minh sự nghiệp

Tôi là một chuyên gia dữ liệu với hơn 20 năm kinh nghiệm trong lĩnh vực cơ sở dữ liệu và CNTT. Trong vai trò DBA và quản lý nhóm Nền tảng Cơ sở dữ liệu, tôi phụ trách các nền tảng cơ sở dữ liệu, với chuyên môn về MySQL, PostgreSQL, Oracle, MongoDB, tinh chỉnh SQL, AWS, Terraform và Python. Dựa trên kinh nghiệm trong các lĩnh vực trò chơi, tài chính và dịch vụ CNTT, tôi trình bày về cơ sở dữ liệu và kiến trúc đám mây. Tôi đã xuất bản 『Học các mẫu SQL tinh chỉnh thực tế Oracle』 và 『Sổ tay ứng dụng dự án thực tế Oracle Pro*C』, đồng thời thuyết trình về serverless, lựa chọn cơ sở dữ liệu và chiến lược đa cơ sở dữ liệu tại AWS Summit 2018·2019 và sự kiện 데이터야 놀자 2020. Gần đây, tôi tập trung vào phân tích và khuyến nghị tinh chỉnh truy vấn chậm bằng Bedrock LLM, tự động hóa việc tính toán thông số DB, cũng như quy trình tra cứu thông qua máy chủ DB Meta MCP và bot Slack. Tôi giải thích về tự động hóa cơ sở dữ liệu dành cho nhà phát triển và việc ứng dụng AI vào công việc dành cho người không chuyên về phát triển thông qua các bài thực hành phù hợp với đối tượng và mục tiêu của từng khóa học. Thay vì áp dụng nguyên xi các đề xuất của AI, tôi truyền đạt các tiêu chí đánh giá như kiểm tra tính tương đương của kết quả, kế hoạch thực thi và điều kiện quan sát; nếu thiếu căn cứ thì tạm thời chưa áp dụng. Dữ liệu vận hành của công ty và thông tin xác thực không được đưa vào tài liệu giảng dạy.

Thêm

Chương trình giảng dạy

Tất cả

30 bài giảng ∙ (3giờ 0phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học khác của dorian05202988

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn

61.600 ₫

20%

1.565.189 ₫