Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 40

ĐẠ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
Đà Nẵng, tháng 10 năm 2023

ii
ĐẠ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
Đà Nẵng, tháng 10 năm 2023

ii
MỞ ĐẦ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ủa
mọ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ách
hiệ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ền
tả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ấu
hì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ền
tảng Ubuntu.

i
LỜ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ắc
trong quá trình hoàn thành báo cáo môn Linux & phần mềm mã nguồn mở. Sự kiên
nhẫ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ằng
nhữ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ài
nă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ội
họ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

ii
BẢNG PHÂN CÔNG NHIỆM VỤ

Thành viên Nhiệm vụ


Phạ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
Đoàn Quốc Huy 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

iii
MỤC LỤC

MỞ ĐẦU i
LỜI CẢM ƠN ii
BẢNG PHÂN CÔNG NHIỆM VỤ iii
MỤC LỤC iv
DANH MỤC HÌNH ẢNH vi
DANH MỤC CÁC BẢNG vii
DANH MỤC CÁC TỪ VIẾT TẮT viii
CHƯƠNG 1. GIỚI THIỆU 1
1.1 Mục tiêu và phạm vi của đề tài 1
1.1.1 Mục tiêu 1
1.1.2. Phạm vi 1
1.2 Phương pháp và kết quả 1
1.2.1 Phương pháp 1
1.2.2 Kết quả 2
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT 3
2.1 Cơ sở lý luận và thực tiễn 3
2.1.1 Linux là gì? 3
2.2.1 Phần mềm mã nguồn mở 5
2.2 Tổng quan về công nghệ chính 6
2.2.1 Oracle VM VirtualBox là gì? 6
2.2.2 Tổng quan về Ubuntu Linux 8
2.3 Tìm hiểu về ngôn ngữ lập trình 10
2.3.1 Trình lập ngôn ngữ PHP là gì? 10
2.3.2 Tổng quan về MySQL 12
2.3.3 Tìm hiểu tổng quan về Database 14
CHƯƠNG 3. TRIỂN KHAI XÂY DỰNG 16
3.1. Cơ bản về cài đặt và trải nghiệm MySql 16
3.1.1 Cài đặt MySQL 16
3.1.2 Mysql configuration 17
3.1.3 Experience with Mysql 19
3.1.4 Backup using mysqldump 20
3.2. Cài đặt môi trường 23

iv
3.2.1. Database server 23
3.2.2. Site server 25
3.3. Kết quả 26
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 27
1. Tóm Tắt Kết Quả Đạt Được 27
2. Hạn Chế Đề Tài 27
3. Hướng Nghiên Cứu Trong Tương Lai 27
TÀI LIỆU THAM KHẢO 28

v
DANH 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

vi
DANH MỤC CÁC BẢNG

Bảng 1 So sánh các phương pháp nghiên cứu.................................................................2

vii
DANH MỤC CÁC TỪ VIẾT TẮT

VIẾT TẮT NỘI DUNG

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

viii
CHƯƠ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ên
Ubuntu, 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.

1
Tê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 - Tốn kém, mất - Kém ưu việt
thực. nhiều thời gian.
Nghiên cứu qua - Thông tin cô đọng, dễ - Nguồn thông tin - Kém ưu việt
sách báo tiếp thu. chưa nhiều, không
được cập nhập.
Nghiên cứu qua - Dễ dàng thực hiện. - Không biết chọn - Ưu việt nhất
Internet - Thông tin rộng lớn. lọc thông tin sẽ gây
- Thông tin được cập rối thông tin.
nhật thường xuyên.

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.

2
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

2.1 Cơ sở lý luận và thực tiễn

2.1.1 Linux là gì?

Linux là một hệ điều hành máy tính được phát triển từ năm 1991, dựa trên hệ điều
hành Unix và viết bằng ngôn ngữ C.

Hình 1 Hệ điều hành Linux


Đây là một hệ điều hành được phát hành miễn phí và có nhiều ưu điểm vượt
trội nên thường được sử dụng nhiều hơn là Windows hay những hệ điều hành nào
khác.
- 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 được
coi 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 đến
Kernel để 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ủ.
3
- 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ển
củ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 trong
nhữ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 phi
thươ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ách
miễ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ải
Linux 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ác
máy tính yếu.
- Nhược điểm của Linux
Một số chế độ hạn chế của Linux như:
- Số lượng ứng dụng được sử dụng trên Linux nhưng bị hạn chế.
- Một số nhà sản xuất trình điều khiển không phát triển và hỗ trợ cho Linux.

4
- Khó tiếp cận và làm quen khi bạn đã quá quen thuộc với Windows thì khi chuyển
sang - 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ông
khai, 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ểm
miễ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ông
cộ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ột
vấ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 giao
diệ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

5
là 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ập
nhậ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 được
cậ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ệu
bấ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ếu
ngườ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ập
trì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ất
nhiề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ết
quả thì thường không khả quan. Đối với các doanh nghiệp sử dụng website để kinh
doanh 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ận
chung.

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
cứng được mô phỏng bởi máy chủ

6
Hì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ản
Microsoft 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ặp
lỗ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ết
kiệ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í.

7
Linh độ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ằng
cá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ính
nă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ụng
cho 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


- Ubuntu là gì?
Ubuntu là một hệ điều hành mã nguồn mở, được phát triển bởi cộng đồng
chung trên nền tảng Debian GNU/Linux.
Được tài trợ bởi Canonical Ltd (chủ sở hữu là người Nam Phi Mark Shuttleworth),
Ubuntu cực kỳ lý tưởng cho máy tính để bàn, máy xách tay và máy chủ.

Hình 3 Ubuntu trong hệ thống linux

8
Ubuntu là tên của bản phân phối – nguồn khởi động từ quan điểm “Ubuntu” mang tính
cộng đồng của người Nam Phi: “Con người hướng dẫn cho người dùng“. Ubuntu đã
mang tinh thần quan điểm đó vào thế giới công nghệ.
- Ubuntu qua từng bước phát triển
Tháng 10 năm 2004, phiên bản chính thức đầu tiên của Ubuntu được ra mắt – phiên
bản 4.1.0 – mang mã là “Warty Warthog” đã thu hút được sự quan tâm trên toàn cầu
của hàng ngàn người yêu thích phần mềm miễn phí cùng với các chuyên gia, cùng
tham gia cộng đồng Ubuntu.
- Ưu điểm và nhược điểm của Ubuntu
Ưu điểm
Ubuntu hoàn toàn miễn phí: Với đặc quyền là một mã nguồn mở nên Ubuntu
hoàn toàn miễn phí. Bạn có thể thoải mái tải về, sử dụng và chia sẻ mà không phải trả
bất cứ chi phí nào. Nếu không, bạn có thể nghiên cứu cách chúng hoạt động, dựa vào
đó để phát triển và phân phối chúng.
Hỗ trợ và quản lý: Ubuntu Advantage là gói hỗ trợ chuyên nghiệp từ các
chuyên gia của Canonical. Bạn sẽ được hỗ trợ 24/7 bởi các kỹ sư có kinh nghiệm trực
tiếp về các vấn đề và khó khăn của bạn. Gói hỗ trợ này bao gồm Landscape, là một
công cụ quản lý hệ thống Ubuntu, giúp theo dõi, quản lý, vá và báo cáo thủ thuật trên
tất cả các máy tính để bàn Ubuntu.
Hệ điều hành hoàn toàn không có virus: Không hề có 1 con virus hay phần
mềm gây hại gì có thể chạy trên Ubuntu. Bạn hoàn toàn an toàn khi sử dụng Ubuntu.
Không diệt virus, không lo lắng, Ubuntu thực sự là lựa chọn đúng đắn cho những
người đặt bảo mật lên trên hết.
Mọi phần mềm đều được tự động cập nhật: Đã được cập nhật tự động vào 6
tháng 1, Ubuntu mang đến cho bạn cơ hội sử dụng những chương trình mới nhất với
những tính năng ưu việt nhất.
Ubuntu bảo vệ giá trị dữ liệu quý giá của bạn: Ubuntu được thiết kế để bảo
mật. Bạn có thể tải xuống các bản cập nhật bảo mật ít nhất 18 tháng trên máy tính để
bàn và máy chủ.

9
Đa ngôn ngữ: Với đặc tính “Ubuntu” (tình huống người) kết hợp với nguồn mở
trên toàn thế giới, Ubuntu hướng tới người dùng phổ thông nên được bản địa hóa ngôn
ngữ với từng địa phương (có cả tiếng Việt).
Nhược điểm
Chế độ đầu tiền là khó dùng, khó làm quen (với những người chuyển từ
Windows sang).
Vấn đề thứ hai là thiếu cao cấp phần mềm chuyên dụng. Vì đối tượng trả lời là
người dùng phổ thông nên Ubuntu chưa có nhiều phần mềm chuyên dụng cao. Hiện tại
Ubuntu cũng đang đẩy mạnh công việc này, đã cung cấp khá nhiều phần mềm.
Bộ gõ tiếng Việt trên Ubuntu hơi khó khăn so với Windows.

2.3 Tìm hiểu về ngôn ngữ lập trình

2.3.1 Trình lập ngôn ngữ PHP là gì?


Trình cài đặt ngôn ngữ PHP là tính năng viết tắt của “PHP: Hypertext
Preprocessor”, một trình cài đặt ngôn ngữ phía máy chủ (phía máy chủ) được phát
triển để xây dựng các trang web động.
Khi viết các phần mềm bằng ngôn ngữ PHP, lệnh chuỗi sẽ được xử lý trên máy
chủ và sinh mã HTML trên máy khách. Trong đó, các ứng dụng trên trang web của
bạn sẽ hoạt động một cách dễ dàng.

Hình 4 Trình lập ngôn ngữ PHP

10
PHP là một nguồn mã hóa ngôn ngữ mở rộng, là nguồn mã hóa có thể được sử dụng,
chỉnh sửa và phân phối miễn phí. Trình cài đặt ngôn ngữ này được thiết kế đặc biệt để
tương tác với HTML và là một công cụ phổ biến trong việc phát triển các động web
ứng dụng.
- Ưu điểm và hạn chế của trình lập ngôn ngữ PHP là gì ?
Ưu điểm :
PHP là một trong những ngôn ngữ lập trình phổ biến nhất vì những lợi ích mà
nó mang lại. Về cơ bản, có 4 điểm ưu tiên:
Tính đơn giản và linh động: PHP sử dụng mã nguồn mở nên việc cài đặt và sử
dụng nó rất dễ dàng. Ngôn ngữ này phù hợp với cả những người hoàn toàn mới với lập
trình viên nghề nghiệp. Bạn chỉ cần học chăm chỉ trong 3 – 6 tháng để ngựa mềm nó.
Cộng đồng hỗ trợ lớn: PHP là một ngôn ngữ phổ biến nên các diễn đàn, nhóm
chuyên sâu của PHP thuộc hàng ngũ đầu của ngành. Bên cạnh đó, thị trường tuyển
dụng công việc này cũng chưa bao giờ giảm nhiệt.
Đa dạng cơ sở dữ liệu: PHP cho phép kết nối với hầu hết các loại cơ sở dữ liệu
như MySQL, mSQL, MS-SQL, SQLite, PostgreSQL, v.v. Vì vậy, bạn sẽ không bị giới
hạn và có thể chọn cơ sở dữ liệu tối ưu nhất cho ứng dụng của mình.
Thư viện phong phú: Có sẵn nhiều sách hướng dẫn và tài liệu tham khảo, cung
cấp các kiến thức hữu ích cho các lập trình viên mới được làm quen dần.
Nhược điểm
Mặc dù ngôn ngữ lập trình PHP hữu ích cho việc phát triển web, nhưng nó cũng
có một số nhược điểm nhất định. Trong đó, chế độ tối đa có thể kể đến lỗi bảo mật từ
hai nguyên tử chính:
Bản chất mã nguồn PHP: Ngôn ngữ PHP có mã nguồn mở. Điều này có nghĩa
là các ổ mã nguồn sẽ được khai báo ngay sau khi chúng được tìm thấy. Do đó, trước
khi sửa chữa, các ổ có thể khai thác thác cho các mục tiêu xấu.
Một số ứng dụng bằng ngôn ngữ PHP được thiết kế bởi người thiếu kinh
nghiệm: By PHP phù hợp với lập trình viên mới vào nghề. Nên có nhiều trang web và
ứng dụng được phát triển bởi những người còn thiếu kinh nghiệm cũng sẽ mang lại
hiệu quả và bảo mật rẻ hơn.
- Ứng dụng của trình lập ngôn ngữ PHP

11
Xây dựng trang web: Các trang web có thể xây dựng bằng PHP cả phần Front-
end và Back-end. PHP sinh ra HTML mã hóa tạo ra giao diện web và xử lý các chứng
chỉ của Web giống như các trình cài đặt ngôn ngữ khác.
Tạo ứng dụng: Tương tự như chức năng xử lý của Web, php cũng có thể thực
hiện các công việc trong các ứng dụng.
Tạo nội dung quản lý hệ thống: php có thể kết nối với cơ sở dữ liệu, thao tác
với cơ sở dữ liệu
Làm các mạng xã hội: Facebook, …

2.3.2 Tổng quan về MySQL


- MySQL là gì?
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational
Database Management System – được gọi tắt là RDBMS). Hệ thống hoạt động theo
mô hình client – server, dựa trên ngôn ngữ truy vấn có cấu trúc (SQL) và được phát
triển, phân phối, hỗ trợ bởi Tập đoàn Oracle.

Hình 5 Mysql

12
MySQL được ưu đãi trong quá trình xây dựng và phát triển ứng dụng. Cơ sở dữ liệu
quản trị hệ thống này được đánh giá có tốc độ cao, ổn định, dễ sử dụng và có khả năng
thay đổi mô hình để sử dụng phù hợp với công việc điều kiện.
MySQL hiện đang hoạt động trên nhiều hệ điều hành Linux, Unix, Windows,…, cung
cấp một hệ thống cho các chức năng tiện ích mạnh mẽ. Nó phù hợp với các ứng dụng
có truy cập cơ sở dữ liệu trên internet nhờ tốc độ cao và tính bảo mật tốt. Người dùng
có thể tải xuống MySQL miễn phí từ trang chủ với nhiều phiên bản cho các hệ điều
hành khác nhau.
- Ưu điểm và nhược điểm của MySQL là gì?
Ưu điểm
Miễn phí: MySQL được phát hành theo giấy phép mở nguồn. Bởi vậy, bạn
không phải trả tiền để sử dụng nó.
Sử dụng dễ dàng: Nó hoạt động trên nhiều hệ điều hành với nhiều ngôn ngữ
bao gồm Java, C, C++, PHP,… Tuy nhiên, nó cung cấp một hệ thống các chức năng
tiện ích mạnh mẽ và tiện ích.
Tốc độ nhanh: MySQL là hệ cơ sở dữ liệu dễ sử dụng, có tốc độ nhanh và hoạt
động ổn định ngay lập tức với các dữ liệu lớn.
Cơ sở dữ liệu hỗ trợ: MySQL có thể hỗ trợ cơ sở dữ liệu lên tới 50 triệu hoặc
nhiều hơn trong một bảng. Mặc định tệp kích thước giới hạn cho 1 bảng là 4GB nhưng
có thể tăng giới hạn nếu hệ thống có thể xử lý được. Giới hạn lý thuyết có thể tăng tới
8 triệu TB.
Chương trình mạnh mẽ: MySQL là một chương trình mạnh mẽ theo đúng
nghĩa. Nó có thể xử lý một tập hợp các chức năng của gói cơ sở vật chất mạnh mẽ và
giá rẻ nhất.
Tính bảo mật cao: MySQL sở hữu nhiều tính năng bảo mật cao. Bởi vậy, nó
cực kỳ thích hợp cho các ứng dụng có quyền truy cập cơ sở dữ liệu trên internet.
Đa tính năng: MySQL hỗ trợ nhiều chức năng SQL được chờ đợi từ một hệ
quản trị cơ sở dữ liệu quan hệ trực tiếp và gián đoạn.
Khả năng tùy chọn cao: Giấy phép mở nguồn mã GPL cho phép các thành
viên cài đặt sửa đổi phần mềm MySQL sao cho phù hợp với môi trường sử dụng riêng
của họ.

13
- Nhược điểm
Độ tin cậy chưa cao: Các công cụ có thể được xử lý với MySQL (giao dịch,
kiểm toán, tài liệu tham khảo,…) làm cho nó đáng tin cậy hơn so với một số hệ thống
quản lý cơ sở dữ liệu khác.
Giới hạn: MySQL sẽ không thực hiện tất cả và nó sẽ đi kèm một số chế độ
định nghĩa hạn chế nhất về chức năng mà một ứng dụng có thể cần có.
Chế độ hạn chế dung lượng: Nếu bản ghi của bạn tăng dần lên thì việc truy
xuất dữ liệu sẽ khó khăn hơn. Khi đó, bạn phải áp dụng nhiều biện pháp nhằm tăng tốc
độ truy xuất dữ liệu (ví dụ như: chia tải cơ sở dữ liệu ra nhiều máy chủ, tạo bộ đệm
MySQL,…).

2.3.3 Tìm hiểu tổng quan về Database


- Cơ sở dữ liệu là gì?
Cơ sở dữ liệu là một tập hợp dữ liệu có tổ chức và có cấu trúc. Trong thuật ngữ
máy tính, cơ sở dữ liệu thường đề cập đến một phần mềm máy tính được sử dụng để
lưu trữ và sắp xếp dữ liệu. Một cơ sở dữ liệu có thể được ví như một chiếc tủ đựng hồ
sơ có nhiều ngăn để lưu trữ hồ sơ, trong đó ngăn đựng hồ sơ gọi là bảng, ngăn đựng hồ
sơ gọi là dữ liệu. Khi cần tìm một loại tệp, bạn chỉ cần vào ngăn kéo tệp và lấy chính
xác thứ mình cần.
- Hệ quản trị cơ sở dữ liệu là gì?
Hệ thống quản lý cơ sở dữ liệu (DBMS) là một hệ thống được thiết kế để quản
lý cơ sở dữ liệu. Các chương trình hệ thống quản lý có thể hỗ trợ lưu trữ, chỉnh sửa,
xóa và tìm kiếm trong cơ sở dữ liệu. Có nhiều loại hệ thống quản lý cơ sở dữ liệu khác
nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân, đến hệ thống quản lý phức tạp
chạy trên siêu máy tính.
Điểm chung của các hệ quản trị cơ sở dữ liệu này là đều sử dụng ngôn ngữ truy
vấn có cấu trúc (SQL - Structured Query Language) và hầu hết chúng đều có thể hoạt
động tốt trên nhiều hệ điều hành khác nhau như Linux, Unix, MacOS, ngoại trừ SQL
Server của Microsoft chỉ chạy trên hệ điều hành Windows.
- Các loại DBMS phổ biến
MySQL: MySQL là một trong những lựa chọn tốt nhất cho doanh nghiệp khi
nói đến giải pháp quản trị Database Server điển hình nhất.

14
Microsoft SQL Server: Microsoft SQL Server là sự lựa chọn tuyệt vời trong
hệ sinh thái Microsoft. Microsoft SQL Server chiếm một vị trí nhỏ trên thị trường
nhưng giá của nó lại rất đắt đối với các doanh nghiệp nhỏ.
Microsoft Data Engine/SQL Server Express: Microsoft Data Engine/SQL
Server Express là giải pháp lý tưởng cho các doanh nghiệp vừa và nhỏ vì nó hoàn toàn
miễn phí. Tuy nhiên, vì miễn phí nên nó có nhiều tính năng hạn chế.
Và một số máy chủ cơ sở dữ liệu khác như: MongoDB, PostgreSQL, SQLite,
Microsoft Access, Oracle, MariaDB

Hình 6 DBMS

15
CHƯƠNG 3. TRIỂN KHAI XÂY DỰNG

3.1. Cơ bản về cài đặt và trải nghiệm MySql

3.1.1 Cài đặt MySQL


Đầu tiên chúng ta cần đảm bảo hệ điều hành được cập nhật mới nhất bằng lệnh:
sudo apt update

Hình 7 Update the operating system


- Then we will install the MySql: package : sudo apt-get install mysql-server

Hình 8 Install Mysql


- After a successful installation, check the current version of MySQL, to make
sure it was installed successfully: mysql –version

16
Hình 9 Check Mysql version
3.1.2 Mysql configuration
This section is to remove risky default options like remote root credentials,
default user accounts, etc. MySQL simplifies the task by automatically making all
changes by running a set of simple security command.
Check the active status of the MySQL service on a system using systemd: systemctl
is-active mysql

Hình 10 Check activation of Mysql


- If MySQL has not been started, you can use the command systemctl enabled
mysql
- Change the default MySQL security with the command sudo
mysql_secure_installation

17
Hình 11 Change security
The script will present multiple options that require a Yes or No answer. The
first prompt asks if you want to set up a plugin for password authentication, answer
Yes and continue
The next prompt asks to set the MySQL root account password. Password must
be set according to the rules
After setting the password, the screen will display the strength and ask if you want to
continue:
Follow-up questions to:
+ Remove anonymous test users
+ Turn off root user remote login
+ Delete test database
+ Reload the privileges table to save all changes
Adjust MySQL user authentication

18
To initiate native client authentication with a password, use the ALTER USER
statement to install the 'mysql_native_password' plugin

3.1.3 Experience with Mysql


Type mysql –u root –p to get to the MySQL screen:
- Create a database named demo with the command " create database demo "
- Display the database with the command « show databases; » :

Hình 12 Display Database


- Use demo database

Hình 13 User Demo

19
- Create a table named users. Add necessary fields to the users table and display
the information on the screen

Hình 14 Create table users


- Add information to the users table

Hình 15 Add users


3.1.4 Backup using mysqldump
- To backup and restore MySQL data, it can be run with mysqldump
- To create a backup of a database using the root user and save it to a file named
database_name.sql, run the following command “ mysqldump –u root –p
demo> demo.sql ”

Hình 16 Create backup database


- Enter the password for the root user. After successfully confirming the
password, the data backup process begins. Depending on the database size, this
process will take a corresponding amount of time.

20
- Review the backup via “ vi demo.sql ” command

Hình 17 Review Backup


- To restore the backed up database, you can use mysql again.
- In most cases, it will be necessary to recreate the database, first delete the
database, create a new database and import the demo.sql backup file into it.

Hình 18 Drop database demo

21
Hình 19 Create database demo
- Restore with the command mysql –u root –p database < database-dump.sql

Hình 20 Backup

22
3.2. Cài đặt môi trường

3.2.1. Database server


Bước 1: Cài đặt Xampp

Hình 1 Màn hình cài đặt xampp

Bước 2: Trong tệp tin /otp/lamp/etc config lại tệp tin my.cnf. Cập nhập bind-address
thành địa chỉ IP của máy

23
Hình 2 Cấu hình bind-address của MySQL
Bước 3: Thiết lập tài khoản để máy Site Server kết nối tới database của máy Database
Server

Hình 3 Thiết lập tài khoản database trên máy Database Server

24
3.2.2. Site server
Đây là máy lưu trữ website và truy cập đến database của máy Database server
Bước 1: Cài đặt Xampp

Hình 4 Màn hình cài đặt Xampp trên Site server


Bước 2: Khởi chạy Apache Web Server

Hình 5 Màn hình khởi chạy Apache Web Server


25
Bước 3: Tại thư mục otp/lamp/htdocs cài đặt website SIT

Hình 6 Thư mục Htdocs của Xampp


Bước 4: Kết nối database của máy Database server cho website

Hình 7 Câu lệnh kết nối database bằng PHP

3.3. Kết quả

Hình 8 Truy cập website

26
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

1. Tóm Tắt Kết Quả Đạt Được

Hiểu rõ được cách cấu hình máy chủ cơ sở dữ liệu trên hệ điều hành Ubuntu:
Hiểu được cách cài đặt và cấu hình các hệ thống quản lý cơ sở dữ liệu (DBMS) phổ
biến như MySQL, PostgreSQL trên Ubuntu. Điều này sẽ giúp chúng ta biết cách triển
khai một máy chủ cơ sở dữ liệu đáng tin cậy trên hệ điều hành này.
Nắm vững các khái niệm về bảo mật cơ sở dữ liệu: Chúng ta sẽ học cách bảo vệ
cơ sở dữ liệu trên Ubuntu bằng cách cấu hình cơ sở dữ liệu và máy chủ một cách an
toàn. Điều này bao gồm cách xác thực, quản lý quyền truy cập và mã hóa dữ liệu.
Tối ưu hóa hiệu suất cơ sở dữ liệu: Chúng ta sẽ hiểu cách tối ưu hóa cơ sở dữ liệu
để đảm bảo hiệu suất tốt nhất. Điều này bao gồm cấu hình chỉ số, tối ưu hóa truy vấn
và quản lý tài nguyên hệ thống.

2. Hạn Chế Đề Tài

Sự phức tạp của đề tài: Cấu hình máy chủ cơ sở dữ liệu là một đề tài kỹ thuật đòi
hỏi sự hiểu biết sâu rộng về hệ thống và mạng. Điều này có thể làm cho việc tìm hiểu
trở nên khó khăn đối với người mới học.
Sự thay đổi công nghệ: Các hệ thống cơ sở dữ liệu và cách cấu hình chúng có thể
thay đổi theo thời gian. Do đó, kiến thức có thể trở nên lỗi thời sau một thời gian

3. Hướng Nghiên Cứu Trong Tương Lai

Nghiên cứu về cách tích hợp các hệ thống cơ sở dữ liệu với các công nghệ mới:
Ví dụ, có thể nghiên cứu cách tích hợp máy chủ cơ sở dữ liệu với các dịch vụ đám mây
hoặc các hệ thống giám sát hiệu suất.
Bảo mật cơ sở dữ liệu tiên tiến: Tìm hiểu về các phương pháp bảo mật cơ sở dữ
liệu tối ưu hơn để ngăn chặn các tấn công và xâm nhập trái phép.
Tự động hóa quy trình cấu hình và tối ưu hóa: Nghiên cứu về cách tự động hóa
các nhiệm vụ liên quan đến cấu hình và tối ưu hóa máy chủ cơ sở dữ liệu trên Ubuntu
để tiết kiệm thời gian và nguồn lực

27
TÀI LIỆU THAM KHẢO
[1] Tài liệu sách tham khảo: Ubuntu Linux, Ubuntu Linux Unleashed 2021 Edition
14/e Matthew Helmke, 2021 Edition Covers 20.04, 20.10, and 21.04
[2] Ubuntu: https://ubuntu.com/
[3] PHP trình lâp ngôn ngữ: https://glints.com /
[4] MySQL: https://mauwebsite.vn/mysql-la-gi/
[5] Installation MySQL on Ubuntu: https://medium.com/@kcoupal/how-to-install-
openstack-on-ubuntu-22-04-with-devstack-3336c01ddcfa

28

You might also like