Để quản lý và truy xuất dữ liệu này một cáchhiệu quả, máy chủ cơ sở dữ liệu Database Server đóng vai trò quan trọng.Máy chủ cơ sở dữ liệu là nơi lưu trữ và quản lý dữ liệu, đồng thời cun
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN
THÔNG VIỆT – HÀN KHOA KHOA HỌC MÁY TÍNH
ĐỒ ÁN MÔN HỌC LINUX VÀ PHẦN MỀM MÃ NGUỒN MỞ
DATABASE SEREVR COFIG IN UBUNTU
Sinh viên thực hiện: Phạm Hoàng Sang (19IT113)
Đoàn Quốc Huy (21IT279) Phan Ngọc Khải (21IT208) Hoàng Tiến Lực (21IT421) Trần Hữu Hồng Lĩnh (21IT210)
Giảng viên hướng dẫn: TS Hoàng Hữu Đức
Trang 2Đà Nẵng, tháng 10 năm 2023
Trang 3ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN
THÔNG VIỆT – HÀN KHOA KHOA HỌC MÁY TÍNH
ĐỒ ÁN MÔN HỌC LINUX VÀ PHẦN MỀM MÃ NGUỒN MỞ
DATABASE SEREVR COFIG IN UBUNTU
Sinh viên thực hiện: Phạm Hoàng Sang (19IT113)
Đoàn Quốc Huy (21IT279) Phan Ngọc Khải (21IT208) Hoàng Tiến Lực (21IT421) Trần Hữu Hồng Lĩnh (21IT210)
Giảng viên hướng dẫn: TS Hoàng Hữu Đức
Trang 4Đà Nẵng, tháng 10 năm 2023
Trang 5MỞ ĐẦU
Trong thế kỷ 21, dữ liệu là một tài nguyên quý báu và trở thành trái tim củamọi hệ thống thông tin hiện đại Để quản lý và truy xuất dữ liệu này một cáchhiệu quả, máy chủ cơ sở dữ liệu (Database Server) đóng vai trò quan trọng.Máy chủ cơ sở dữ liệu là nơi lưu trữ và quản lý dữ liệu, đồng thời cung cấp khảnăng truy cập dữ liệu cho các ứng dụng và người dùng cuối
Ubuntu, một trong những hệ điều hành phổ biến dựa trên Linux, đã trởthành lựa chọn phổ biến cho việc triển khai máy chủ cơ sở dữ liệu Điều này đặt
ra câu hỏi quan trọng: "Làm thế nào để cấu hình một Database Server trên nềntảng Ubuntu một cách hiệu quả và bảo mật?"
Đề tài này nhằm tìm hiểu và trình bày các khía cạnh quan trọng của việc cấuhình Database Server trong môi trường Ubuntu Chúng ta sẽ khám phá các loại
cơ sở dữ liệu phổ biến như MySQL, PostgreSQL, và MongoDB, cách cài đặt vàcấu hình chúng trên Ubuntu, và các biện pháp tối ưu hóa hiệu suất và bảo mật.Bằng cách nắm vững các nguyên tắc và kỹ thuật này, bạn có khả năng xây dựng
và duy trì một máy chủ cơ sở dữ liệu mạnh mẽ, đáng tin cậy và an toàn trên nềntảng Ubuntu
Trang 6LỜI CẢM ƠN
Kính gửi Thầy Hoàng Hữu Đức,
Em xin gửi lời cảm ơn chân thành đến Thầy về sự hỗ trợ và sự dẫn dắt xuất sắctrong quá trình hoàn thành báo cáo môn Linux & phần mềm mã nguồn mở Sự kiênnhẫn và kiến thức sâu rộng của Thầy đã giúp em hiểu sâu hơn về Linux và cách sửdụng phần mềm mã nguồn mở trong dự án của mình
Thầy đã luôn sẵn sàng trả lời mọi câu hỏi của em và giúp em vượt qua những khókhăn trong quá trình nghiên cứu và viết báo cáo Nhờ sự hướng dẫn của Thầy, em đã
có cơ hội nắm vững kiến thức về hệ điều hành Linux và các ứng dụng mã nguồn mở,
từ đó tạo nên một báo cáo môn học thú vị và chất lượng
Sự tận tâm và đam mê của Thầy đã truyền cảm hứng cho em, và em tự tin rằngnhững kiến thức và kỹ năng mà em đã học sẽ giúp ích cho tương lai nghề nghiệp của
em Em rất biết ơn và tự hào khi có cơ hội được học hỏi từ một người giáo viên tàinăng như Thầy
Một lần nữa, em xin bày tỏ lòng biết ơn sâu sắc đến Thầy Hoàng Hữu Đức về sựgiúp đỡ và hỗ trợ không điều kiện trong suốt thời gian qua Em hi vọng sẽ có cơ hộihọc hỏi và làm việc cùng Thầy trong tương lai
Chân thành,
Sinh viên.
PHẠM HOÀNG SANG ĐOÀN QUỐC HUY PHAN NGỌC KHẢI HOÀNG TIẾN LỰC TRẦN HỮU HỒNG LĨNH
Trang 7BẢNG PHÂN CÔNG NHIỆM VỤ
Ph m Hoàng Sang (Leader) ạm Hoàng Sang (Leader) Làm báo cáo, Demo
Hoàng Tiến Lực Làm báo cáo, Slide
Trần Hữu Hồng Lĩnh Làm báo cáo, Slide
Phan Ngọc Khải Làm báo cáo, Slide
Trang 81.1 Mục tiêu và phạm vi của đề tài 1
2.1 Cơ sở lý luận và thực tiễn 3
2.2 Tổng quan về công nghệ chính 62.2.1 Oracle VM VirtualBox là gì? 62.2.2 Tổng quan về Ubuntu Linux 82.3 Tìm hiểu về ngôn ngữ lập trình 102.3.1 Trình lập ngôn ngữ PHP là gì? 10
2.3.3 Tìm hiểu tổng quan về Database 14CHƯƠNG 3 TRIỂN KHAI XÂY DỰNG 163.1 Cơ bản về cài đặt và trải nghiệm MySql 16
Trang 93 Hướng Nghiên Cứu Trong Tương Lai 27
Trang 10DANH MỤC HÌNH ẢNH
Hình 1 Hệ điều hành Linux 3
Hình 2 Máy ảo VM VirtualBox 7
Hình 3 Ubuntu trong hệ thống linux 9
Hình 4 Trình lập ngôn ngữ PHP 11
Hình 5 Mysql 13
Hình 6 DBMS 15
Hình 7 Update the operating system 16
Hình 8 Install Mysql 16
Hình 9 Check Mysql version 17
Hình 10 Check activation of Mysql 17
Hình 11 Change security 18
Hình 12 Display Database 19
Hình 13 User Demo 19
Hình 14 Create table users 20
Hình 15 Add users 20
Hình 16 Create backup database 20
Hình 17 Review Backup 21
Hình 18 Drop database demo 21
Hình 19 Create database demo 22
Hình 20 Backup 22
DANH MỤC CÁC BẢN
Trang 11Bảng 1 So sánh các phương pháp nghiên cứu 2
Trang 12DANH MỤC CÁC TỪ VIẾT TẮT
CNTT Công nghệ thông tin
OSS Open source software
MS-DOS Microsoft Disk Operating System
DSB Berkeley Software Distribution
OVF Open Virtualization Format
SQL Structured Query Language
Trang 13CHƯƠNG 1 GIỚI THIỆU
1.1 Mục tiêu và phạm vi của đề tài
1.1.1 Mục tiêu
- Hướng dẫn cài đặt cơ bản: Trình bày một loạt các bước cụ thể và ví dụ minh họa để
cấu hình máy chủ cơ sở dữ liệu trên Ubuntu
- Tạo hiểu biết về sự tương tác giữa Ubuntu và cơ sở dữ liệu: Hiểu rõ cách Ubuntu
tương tác với cơ sở dữ liệu và làm thế nào để có thể cấu hình hệ thống sao cho cơ sở
dữ liệu hoạt động một cách hiệu quả
- Bảo mật database server: mô tả triển khai, quản lý mật khẩu, kiểm soát quyền truy
cập và bảo vệ dữ liệu trên máy chủ cơ sở dữ liệu
1.1.2 Phạm vi
Báo cáo này sẽ tập trung vào việc cài đặt và cấu hình database server trênUbuntu, bao gồm:
- MySQL: MySQL là một database server mã nguồn mở, được sử dụng rộng rãi trên
các hệ điều hành khác nhau, bao gồm Ubuntu
- SQL Server: SQL Server là một database server thương mại, được phát triển bởi
Microsoft
1.2 Phương pháp và kết quả
1.2.1 Phương pháp
Phương pháp 1
- Tên phương pháp: Nghiên cứu thực tế
- Cách thực hiện: Khảo sát tại các đơn vị
Phương pháp 2
- Tên phương pháp: Nghiên cứu qua sách báo
- Cách thực hiện: Mượn sách báo từ thư viện về nghiên cứu
Phương pháp 3
- Tên phương pháp: Nghiên cứu qua internet
- Cách thực hiện: thực hiện đọc thông tin, xem mã nguồn bằng trình duyệt
Trang 14Tên Phương Pháp Ưu điểm Hạn chế Kết luận
Nghiên cứu thực tế - Khách quan, trung
thực - Tốn kém, mất nhiều thời gian - Kém ưu việtNghiên cứu qua
- Kém ưu việt
Nghiên cứu qua
Internet - Dễ dàng thực hiện.- Thông tin rộng lớn.
- Thông tin được cập nhật thường xuyên
- Không biết chọn lọc thông tin sẽ gây rối thông tin
- Ưu việt nhất
Bảng 1 So sánh các phương pháp nghiên cứu
1.2.2 Kết quả
Báo cáo được trình bày trong ba chương, cụ thể như sau:
Chương 1.Giới thiệu: Trong chương này, báo cáo trình bày các lí thuyết đã được học Chương 2 Cơ sở lý thuyết: Trong chương này triển khai và cấu hình cơ sở dữ liệu ở
trong hệ điều hành Ubuntu và triển khai một số chức năng khác
Chương 3 Triển khai xây dựng
Cuối cùng là Kết luận hướng phát triển vàTài liệu tham khảo liên quan đến đề tài.
Trang 15CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 Cơ sở lý luận và thực tiễn
- Cấu hình của Hệ điều hành Linux
Kernel: Hay còn được gọi là Nhân, là phần quan trọng và được ví như trái tim của
HĐH Linux Phần kernel quan trọng nhất của máy tính có nhiệm vụ chứa các module,thư viện để quản lý và giao tiếp với phần cứng và các ứng dụng
Shell: Shell là một chương trình có chức năng thực thi các lệnh (lệnh) từ người dùng
hoặc từ các ứng dụng yêu cầu – tiện ích yêu cầu chuyển đến xử lý Kernel Shell đượccoi là kết nối để kết nối Kernel và Ứng dụng, phiên dịch các lệnh từ Ứng dụng gửi đếnKernel để thực hiện việc này
Ứng dụng: Là các ứng dụng và tiện ích được người dùng cài đặt trên Máy chủ.
Trang 16- Lịch sử của hệ điều hành Linux
Khi đang học đại học Helsinki, ông Linus Torvards đã có ý tưởng tạo ra một hệđiều hành mới thay thế cho hệ điều hành cũ cho nền giáo dục hiện tại ở thời điểm đó
Vì thế, ông đã bắt đầu viết các lệnh đầu tiên về Linux, đặt nền móng cho sự phát triểncủa Linux cho đến nay
Hiện nay, Linux được chia thành các phiên bản như: Ubuntu, Linux Mint,Fedora, Debian,… nhưng phần lớn người sử dụng vẫn là Ubuntu Linux là một trongnhững ví dụ nổi bật nhất của phần mềm nguồn mở và công việc phát triển mã nguồn
mở Mã nguồn có thể được sử dụng, chỉnh sửa và phân phối – thương mại hoặc phithương mại – bởi bất kỳ ai, theo các điều khoản của giấy phép tương ứng, ví dụ nhưGNU General Public
- Ưu và nhược điểm Hệ điều hành linux
Ưu điểm Hệ điều hành Linux
Hệ điều hành Linux miễn phí: Với Linux bạn không cần phải mất phí để mua
bản quyền Linux để bắt đầu quá trình sử dụng Mà bạn hoàn toàn sử dụng một cáchmiễn phí cho tất cả các chức năng của hệ điều hành này Ngoài ra, OpenOffice vàLibreOffice còn hỗ trợ các ứng dụng văn bản
Linh hoạt: Khi sử dụng Linux, người dùng có thể hoạt động trong việc chỉnh
sửa hệ thống điều hành theo nhu cầu của mình Là một tiện ích ưu tiên trong quá trình
sử dụng của các lập trình viên
Tính bảo mật cao: Tính bảo mật của Linux là cực cao nên tất cả các phần
mềm mã độc, virus,… đều không thể hoạt động trên Linux Vì thế bạn hãy yên tâm tảiLinux và sử dụng một cách thoải mái
Linux hỗ trợ cho máy cấu hình yếu: Với Linux dù máy tính của bạn có cấu
hình yếu nhưng Linux vẫn hỗ trợ cập nhật cập nhật, nâng cấp và hỗ trợ liên tục vàthường xuyên trong khi sử dụng Hoạt động của Linux cũng vô cùng ổn định trên cácmáy tính yếu
- Nhược điểm của Linux
Trang 17-Khó tiếp cận và làm quen khi bạn đã quá quen thuộc với Windows thì khi chuyểnsang - Linux bạn cần một khoảng thời gian để có thể làm quen với hệ điều hành này.
2.2.1 Phần mềm mã nguồn mở
Mã nguồn mở (OSS) là những phần mềm có mã nguồn (source) được côngkhai, cho phép bất cứ ai cũng có thể chỉnh sửa, thay đổi hay sử dụng mã nguồn này đểphát triển ra các phần mềm khác Không chỉ miễn phí về giá mua mà còn miễn phí vềbản quyền, người dùng được tùy ý sao chép và công khai nghiên cứu, làm việc màkhông cần phải xin phép ai, điều mà không được phép đối với phần mềm mã nguồnđóng (Phần mềm thương mại)
Phần mềm mã nguồn mở đặc biệt lôi cuốn những nhà kinh doanh, bởi ưu điểmmiễn phí và cho phép người dùng có quyền "sở hữu hệ thống" Tiện ích mà phần mềm
mã nguồn mở mang lại chính là quyền tự do sử dụng chương trình cho mọi mục đích,quyền tự do để nghiên cứu cấu trúc của chương trình, chỉnh sửa phù hợp với nhu cầu,truy cập vào mã nguồn, quyền tự do phân phối lại các phiên bản cho nhiều người,quyền tự do cải tiến chương trình và phát hành những bản cải tiến vì mục đích côngcộng
- Ưu điểm và nhược điểm của phần mềm mã nguồn mở
Ưu điểm:
Các định dạng file không bị kiểm soát hoàn toàn bởi một số nhà cung cấp Bạn
sẽ hoàn toàn an tâm khi dữ liệu của mình được sử dụng với những ứng dụng khác màkhông cần phải cấp quyền
- Những phần mềm mã nguồn mở đều có khả năng bảo mật hiệu quả, khi gặp phải mộtvấn đề thì sẽ được sửa lỗi nhanh hơn những phần mềm có bản quyền
- Cho phép sao chép phần mềm và chia sẻ nó cho đồng nghiệp, bạn bè,
- Với những hệ thống Open Source, nhất là các hệ thống dựa trên UNIX, thường hoạtđộng một cách suôn sẻ đến khó tin Vì chúng được xây dựng từ nhiều khối thống nhất
và bố cục chặt chẽ, giúp bạn dễ dàng thay thế nhiều phần của hệ thống với một giaodiện tương tự
Nhược điểm:
Tốc độ website: Việc thiết kế web bằng hệ điều hành mã nguồn mở giống với
việc bạn sử dụng một phần chức năng nhưng phải sử dụng 3-4 phần mã nguồn Lý do
Trang 18là vì một mã nguồn mở chung có thể được sử dụng để tạo ra nhiều website khác nhau.Trong khi đó, website được lập trình viên viết thủ công nhằm phục vụ một mục đích
cụ thể sẽ không dư thừa code như mã nguồn mở, giúp giảm tải cho website
Tính bảo mật: Các mã nguồn mở được chia sẻ công khai trên mạng Internet,
bất cứ ai cũng có thể tải về và sử dụng Điều này đồng nghĩa với việc hacker cũng cóthể biết được bên trong website của bạn có gì Mặc dù website mã nguồn mở được cậpnhật và vá lỗi nhanh, hacker có thể lợi dụng lỗ hổng bảo mật trước khi bản vá lỗi đượccập nhật thì website của bạn sẽ đứng trước nguy cơ bị tấn công hoặc lấy cắp dữ liệubất cứ lúc nào
Khó chỉnh sửa, nâng cấp: Website mã nguồn mở được viết sẵn bởi những lập
trình viên tình nguyện ở nước ngoài nhằm đáp ứng nhu cầu chung của cộng đồng Nếungười dùng có thể nhu cầu chỉnh sửa website thì sẽ phải chỉnh sửa lại mã nguồn lậptrình của website Tuynhiên do không phải là website mà bạn tạo ra nên sẽ không hiểuđược hết các đặc tính của website, dẫn đến việc chỉnh sửa thường khá phức tạp, mấtnhiều thời gian và có thể không sửa được
Bị khoá hoặc thu hồi website đột ngột: Website mã nguồn mở là một dạng
web đi mượn của các tổ chức quốc tế nên sẽ không thuộc sở hữu cá nhân Trong quátrình sử dụng, người dùng có thể bị thu hồi bất cứ lúc nào mà không rõ nguyên nhân.Việc gửi yêu cầu xem xét để lấy lại website sẽ khá rắc rối, gây mất thời gian mà kếtquả thì thường không khả quan Đối với các doanh nghiệp sử dụng website để kinhdoanh bán hàng trực tuyến, việc này có thể gây ảnh hưởng đến doanh thu, lợi nhuậnchung
2.2 Tổng quan về công nghệ chính
2.2.1 Oracle VM VirtualBox là gì?
Oracle VM VirtualBox là nền tảng ứng dụng mở và miễn phí mã hóa nguồn,cho phép tạo, quản lý và chạy các máy ảo (VM) Máy ảo là những máy tính có phần
Trang 19Hình 2 Máy ảo VM VirtualBox
Oracle VM VirtualBox cho phép người dùng sử dụng thiết lập một hoặc nhiều máy ảo(VM) trên một máy tính và sử dụng chúng đồng thời với máy tính thật Mỗi máy ảo cóthể cài đặt và thực thi hệ thống điều khiển riêng của mình, bao gồm các phiên bảnMicrosoft Windows, Linux, BSD và MS-DOS Bạn có thể cài đặt và chạy nhiều máy
ảo tùy chọn vào ổ cứng dung lượng và bộ nhớ RAM của máy cài đặt VirtualBox
- Tiện ích khi sử dụng máy tính ảo
Chạy nhiều hệ điều hành cùng lúc: VirtualBox có thể giúp bạn chạy nhiều hệ
điều hành cùng lúc và trên cùng một máy tính
Tìm hiểu về hệ điều hành: VirtualBox giúp bạn có thể tìm hiểu về các hệ điều
hành như Linux, Mac OS X, và cài đặt các phần mềm tùy ý mà không sợ máy gặplỗi
Tiết kiệm thời gian và không gian: Sử dụng VirtualBox bạn có thể trao đổi dữ
liệu giữa máy tính thật và máy tính ảo một cách dễ dàng bằng cách kéo file giúp tiếtkiệm thời gian và không gian
Cài thử phần mềm: Nếu bạn nghi ngờ bất cứ phần mềm nào vừa tải trên mạng
về có virus gắn kết thì có thể tải về và cài đặt thí nghiệm lên máy tính ảo trước đó vàkhông cần phải lo lắng gì về máy tính thật cả vì nó đã được hoàn thành
Tiết kiệm và khai thác tối đa tài nguyên của máy tính: VirtualBox có thể
giúp bạn tiết kiệm chi phí đáng kể vào các phần cứng và điện
- Tính năng của VirtualBox
Miễn phí: Oracle VirtualBox là phần mềm mã nguồn mở miễn phí.
Trang 20Linh động: VirtualBox là nền tảng hóa loại 2 (Type 2 Hypervisor) Có nghĩa là
máy ảo (VM) được tạo trên một máy chủ có thể dễ dàng chạy một máy chủ khác bằngcách sử dụng Định dạng ảo hóa mở (OVF), VM thì có thể xuất và nhập dễ dàng
Nhóm VM: VirtualBox cung cấp nhóm tính năng Tính năng này cho phép người
dùng sử dụng nhóm các máy ảo của mình theo một nhóm để quản lý dễ dàng Các tínhnăng như bắt đầu, đóng, đặt lại, lưu trạng thái, tắt máy, tắt nguồn vừa được áp dụngcho VM riêng lẻ vừa được áp dụng cho cả nhóm
Bổ sung dành cho khách: Đây là công cụ được cài đặt trên hệ điều hành máy chủ
ảo để cải thiện hiệu suất của chúng và cung cấp tích hợp cho VirtualBox cũng nhưgiao tiếp với máy chủ
Snapshots: VirtualBox cung cấp tính năng chụp nhanh trạng thái VM Guest khi
có lỗi trong quá trình lab, bạn có thể quay lại thời điểm chụp ảnh và hoàn thành VM.Phần cứng hỗ trợ: SMP hỗ trợ VirtualBox cho Guest, USB thiết bị, hỗ trợ ACPI đầy
đủ, phân giải đa màn hình và PXE mạng khởi động
2.2.2 Tổng quan về Ubuntu Linux