Link to original video by Learning Database with Tran Quoc Huy
Hiểu toàn bộ MySQL Database trong 1 giờ 42 phút | MySQL Course| MySQL Tutorials| MySQL Trần Quốc Huy

Hiểu Toàn Bộ MySQL Database Trong 1 Giờ 42 Phút | MySQL Course| MySQL Tutorials| MySQL Trần Quốc Huy
Tóm Tắt Ngắn Gọn:
- Video giới thiệu một khóa học MySQL cơ bản, hướng dẫn lập trình viên cách làm việc với cơ sở dữ liệu MySQL.
- Khóa học bao gồm các chủ đề như cài đặt MySQL, kiến trúc MySQL, SQL cơ bản, tối ưu hóa câu lệnh SQL, đánh giá hiệu năng database, và sao lưu/khôi phục dữ liệu.
- Khóa học cung cấp kiến thức cần thiết để lập trình viên có thể sử dụng MySQL hiệu quả trong các dự án thực tế.
- Video trình bày các kỹ thuật tối ưu hóa như sử dụng Index, Partition, và phân tích chiến lược thực thi câu lệnh SQL.
Tóm Tắt Chi Tiết:
Phần 1: Cài Đặt MySQL
- Video hướng dẫn cách cài đặt MySQL Community Server phiên bản 8.4.0 LTS trên hệ điều hành Windows.
- Người dẫn chương trình hướng dẫn cách tải xuống, cài đặt, và cấu hình MySQL, bao gồm việc tạo user root và user khác, thiết lập service, và tạo database mẫu.
- Video cũng giới thiệu cách kiểm tra service MySQL đã được cài đặt thành công và cách truy cập vào database MySQL thông qua command line.
Phần 2: Kiến Trúc MySQL
- Video giải thích kiến trúc MySQL, bao gồm hai phần chính: kiến trúc bộ nhớ và kiến trúc vật lý.
- Kiến trúc bộ nhớ bao gồm Buffer Pool (lưu trữ dữ liệu thường xuyên được sử dụng) và Redo Log (lưu trữ thông tin thay đổi dữ liệu).
- Kiến trúc vật lý bao gồm Table Space (phân vùng dữ liệu logic), Data File (file lưu trữ dữ liệu thực tế), Redo Log File (file lưu trữ thông tin Redo Log), và Double Write Buffer File (file lưu trữ tạm thời).
- Video giải thích vai trò của các Table Space hệ thống như System, Undo, và Temporary, và cách tạo Table Space riêng cho người dùng.
- Video cũng giải thích cách cấu hình tham số InnoDB_file_per_table để tạo file riêng cho mỗi bảng.
Phần 3: SQL Cơ Bản
- Video giới thiệu SQL (Structured Query Language) là ngôn ngữ chính để tương tác với cơ sở dữ liệu MySQL.
- Video hướng dẫn cách tạo bảng mới, tạo bảng từ bảng khác, lấy dữ liệu từ bảng, lọc dữ liệu, sắp xếp dữ liệu, và sử dụng các hàm biến đổi dữ liệu.
- Video cũng giải thích khái niệm Join để lấy dữ liệu từ nhiều bảng, và hướng dẫn cách thêm dữ liệu (Insert), cập nhật dữ liệu (Update), và xóa dữ liệu (Delete) trong bảng.
Phần 4: Tối Ưu Hóa Câu Lệnh SQL
- Video giới thiệu cách đánh giá hiệu năng của câu lệnh SQL bằng lệnh EXPLAIN và EXPLAIN ANALYZE.
- Video giải thích các thông số quan trọng trong kết quả của EXPLAIN, bao gồm Type, Possible Keys, Key, Rows, và Extra.
- Video hướng dẫn cách sử dụng Index để tối ưu hóa câu lệnh SQL, bao gồm tạo Index đơn, Index ghép (Composite Index), và Index ẩn (Invisible Index).
- Video cũng giới thiệu khái niệm Partition và cách sử dụng Partition để tối ưu hóa hiệu năng cho các bảng lớn.
- Video nhấn mạnh tầm quan trọng của việc lựa chọn cột phù hợp để tạo Index và Partition.
Phần 5: Đánh Giá Hiệu Năng Database
- Video giới thiệu các thông số quan trọng để đánh giá hiệu năng database, bao gồm Buffer Hit, Table Cache Hit, Table Definition Cache Hit, và Temporary Table Usage.
- Video giải thích cách tính toán tỉ lệ các thông số này và cách xác định khi nào cần tối ưu hóa database.
- Video cũng hướng dẫn cách tối ưu hóa các thông số liên quan đến bộ nhớ, bao gồm việc điều chỉnh tham số table_open_cache, table_definition_cache, và tối ưu hóa câu lệnh SQL.
Phần 6: Sao Lưu Và Khôi Phục Dữ Liệu
- Video giới thiệu hai loại sao lưu dữ liệu: Physical Backup và Logical Backup.
- Video tập trung vào Logical Backup, sử dụng công cụ MySQLDump (mysqldump) để sao lưu cấu trúc bảng, dữ liệu, hoặc cả hai.
- Video hướng dẫn cách sử dụng mysqldump để sao lưu bảng, database, và toàn bộ database.
- Video cũng hướng dẫn cách khôi phục dữ liệu từ file sao lưu.
Lời Kết:
- Video kết thúc bằng lời khích lệ người xem tiếp tục học hỏi và khám phá thêm về MySQL.
- Người dẫn chương trình cũng giới thiệu các video khác về các loại cơ sở dữ liệu khác trên kênh của mình.
- Video khẳng định tầm quan trọng của việc học hỏi và thực hành để trở thành lập trình viên giỏi.