You are on page 1of 58

Xây dựng lab thực hành SQL

trên MariaDB
Mục lục
I. Môi trường lab ngôn ngữ SQL:..............................................................................................................4
I.1. Mục đích.........................................................................................................................................4
I.2. Mô hình của lab:.............................................................................................................................4
a) Cấu hình máy ảo:..........................................................................................................................5
b) Cấu hình database:.......................................................................................................................5
I.3. Các bước chính xây dựng lab:.........................................................................................................5
II. Chuẩn bị:...............................................................................................................................................5
II.1. Thiết bị:..........................................................................................................................................5
II.2. Phần mềm......................................................................................................................................6
a) VirtualBox....................................................................................................................................6
b) Fedora 36......................................................................................................................................6
c) MariaDB.......................................................................................................................................6
d) MobaXterm..................................................................................................................................6
e) DBeaver........................................................................................................................................6
III. Cài đặt..................................................................................................................................................6
III.1. Cài đặt VirtualBox........................................................................................................................6
a) Cài phần mềm VirtualBox............................................................................................................6
b) Cấu hình Host Only Network.......................................................................................................7
III.2. Tạo máy ảo MariaDB...................................................................................................................8
a) Mở VirtualBox, vào menu Machine => Add................................................................................8
b) Điền thông tin của máy ảo............................................................................................................8
c) Cấu hình dung lượng memory......................................................................................................9
d) Tạo ổ cứng cho máy ảo................................................................................................................9
e) Mở cửa sổ thiết lập của máy ảo MariaDB....................................................................................9
f) Thiết lập boot từ file iso Fedora 36.............................................................................................10
g) Thiết lập thêm card mạng Host Only cho kết nối nội bộ...........................................................12
h) Thiết lập thêm card mạng Nat cho kết nối internet....................................................................13
III.3. Cài đặt Fedora Server 36............................................................................................................13
a) Khởi động máy ảo MariaDB......................................................................................................13
b) Chọn “Install Fedora 36.............................................................................................................14
c) Chọn ngôn ngữ mặc định là tiếng Anh (English).......................................................................14
d) Có 5 thành phần cài đặt sẽ cần phải nhập thông tin hoặc điều chỉnh:........................................15
e) Chọn timezone: Asia/Ho_Chi_Minh..........................................................................................15
f) Chọn cài Infrastructure Server và phần mềm MariaDB.............................................................16
g) Chọn ổ cứng sẽ cài đặt và cấu hình chia phân vùng...................................................................17
h) Cấu hình cho network................................................................................................................21
i) Tạo user login vào hệ điều hành:................................................................................................30
j) Nhấn “Begin Intallation” để chạy cài đặt:...................................................................................33
k) Bỏ ISO khỏi ổ DVD:..................................................................................................................35

1/58
III.4. Khởi động máy ảo MariaDB ở chế độ Headless (chạy ngầm):..................................................36
III.5. Cài đặt phần mềm MobaXterm..................................................................................................37
III.6. Thiết lập kết nối SSH đến server bằng MobaXterm...................................................................37
a) Tạo SSH session.........................................................................................................................37
b) Chọn session để kết nối SSH đến server MariaDB....................................................................39
c) Nhấn OK để lưu lại password cho các lần kết nối sau:..............................................................39
d) Nhập master password:..............................................................................................................40
e) Phiên làm việc SSH với server:..................................................................................................41
III.7. Thiết lập cấu hình Fedora cho MariaDB:...................................................................................41
a) Thiết lập /etc/hosts......................................................................................................................41
b) Thiết lập firewall:.......................................................................................................................41
III.8. Thiết lập cấu hình MariaDB.......................................................................................................42
a) Thiết lập cho MariaDB hoạt động trên địa chỉ 192.168.0.105...................................................42
b) Khởi động dịch vụ mariadb........................................................................................................42
c) Thiết lập dịch vụ MariaDB tự khởi động khi bật máy:..............................................................42
d) Thiết lập secure cho mariadb......................................................................................................42
III.9. Tạo user và database (schema) dblab.........................................................................................44
a) Kết nối bằng SSH vào server MariaDB:....................................................................................44
b) Kết nối vào MariaDB bằng user root:........................................................................................44
c) Tạo database dblab.....................................................................................................................44
d) Tạo user dblab.admin.................................................................................................................44
e) Tạo user dblab.user01.................................................................................................................44
f) Tạo user dblab.user02.................................................................................................................44
III.10. Tạo user và database (schema) hr.............................................................................................44
a) Kết nối bằng SSH vào server MariaDB:....................................................................................44
b) Kết nối vào MariaDB bằng user root:........................................................................................45
c) Tạo database hr...........................................................................................................................45
d) Tạo user hr.admin.......................................................................................................................45
e) Tạo user hr.user01.......................................................................................................................45
f) Tạo user hr.user02.......................................................................................................................45
III.11. Cài đặt DBeaver.......................................................................................................................45
a) Cài đặt DBeaver.........................................................................................................................45
b) Sửa lỗi không download được driver trên Windows:.................................................................45
c) Download driver MariaDB cho DBeaver...................................................................................47
III.12. Tạo kết nối đến database dblab................................................................................................49
a) Tạo mới kết nối trong DBeaver..................................................................................................49
b) Chọn driver MariaDB.................................................................................................................50
c) Nhập các thông số kết nối đến database:....................................................................................50
d) Sửa lại tên connection thành dblab (dblab.admin):....................................................................51
e) Tạo kết nối cho 02 user còn lại:..................................................................................................52
III.13. Tạo kết nối đến database hr......................................................................................................53
III.14. Tạo table và insert dữ liệu cho database hr..............................................................................53
a) Download script hr-schema-mysql.sql.......................................................................................53
b) Dùng DBeaver chạy script bằng user hr.admin..........................................................................53
III.15. Kiểm tra....................................................................................................................................56
a) Kết nối bằng SSH vào server MariaDB:....................................................................................56
b) Kết nối vào MariaDB bằng user root:........................................................................................56

2/58
c) Kiểm tra trong danh sách databases có dblab và hr....................................................................56
d) Kiểm tra danh sách có đủ 03 user dblab và 03 user hr:..............................................................57
e) Kiểm tra không table trong dblab:..............................................................................................57
f) Kiểm tra có 08 table (view) trong hr:..........................................................................................57
g) Kiểm tra table hr.countries có 25 bản ghi:..................................................................................57
h) Kiểm tra table hr.departments có 27 bản ghi:.............................................................................57
i) Kiểm tra view hr.emp_details_view có 106 bản ghi:..................................................................57
j) Kiểm tra table hr.employees có 107 bản ghi:..............................................................................57
k) Kiểm tra table hr.job_history có 10 bản ghi:..............................................................................57
l) Kiểm tra table hr.jobs có 19 bản ghi:..........................................................................................57
m) Kiểm tra table hr.locations có 23 bản ghi:.................................................................................57
n) Kiểm tra table hr.regions có 4 bản ghi:......................................................................................57
IV. Một số trang tham khảo:.....................................................................................................................58

3/58
I. Môi trường lab ngôn ngữ SQL:

I.1. Mục đích


Xây dựng một hệ thống lab để thực hành ngôn ngữ SQL trên database RDMBS.
Các hệ thống database RDBMS phổ biến hiện nay chạy theo mô hình client-server, có nhiều máy hoạt
động và kết nối với nhau trong mạng máy tính.
Do vậy lab sẽ xây dựng trên môi trường ảo hóa, tận máy tính có sẵn để giả lập một môi trường database
MariaDB client-server.
Mô hình lab như vậy mang lại cách hoạt động gần gũi nhất với các hệ thống database đang hoạt động
phổ biến hiện nay.
Lab sẽ giúp làm quen, tìm hiểu để có thể nhanh chóng tiếp cận các hệ thống database khác về sau.
Các sản phẩm trong lab đều sử dụng các phần mềm Open Source phổ biến hiện nay với đầy đủ tính
năng cần thiết cho học và thực hành ngôn ngữ SQL.
Điều này giúp cho việc xây dựng lab được dễ dàng lại vừa đảm bảo an toàn.

I.2. Mô hình của lab:

Chú thích:
Màu đỏ: Máy tính có sẵn dùng làm host
Màu vàng: Máy ảo được tạo và hoạt động trên máy host
Màu xanh: Kết nối mạng
=> Các password trong lab được đặt mặc định là "maria105sql"
=> Máy host sẽ có địa chỉ Host Only 192.168.0.1, các phần mềm client (SSH, database,...) sẽ cài và
hoạt động trên máy host.

4/58
a) Cấu hình máy ảo:
Máy ảo MariaDB có cấu hình: 1 CPU, 2G RAM, 1 card mạng Host Only, 1 card mạng Nat để truy cập
ra Internet.
Máy ảo MariaDB sẽ hoạt động chủ yếu với địa chỉ 192.168.0.105 của card mạng Host Only.
Chú ý: Máy ảo sẽ chạy ở chế độ 64bit, do vậy máy host cần bật tính năng hỗ trợ Virtualization từ trong
BIOS. Để bật tính năng này cần khởi động lại máy và nhấn phím để vào BIOS, nên tham khảo hướng
dẫn tùy theo dòng máy.
b) Cấu hình database:
Tên database: dblab
User kết nối và quyền truy cập vào database dblab:
dblab.admin: Có full quyền: Thực hiện được DDL, DML, DQL
dblab.user01: Có quyền xem và thay đổi dữ liệu: DML, DQL
dblab.user02: Có quyền xem, không thể thay đổi dữ liệu: DQL
Tên database: hr
User kết nối và quyền truy cập vào database hr:
hr.admin: Có full quyền: Thực hiện được DDL, DML, DQL
hr.user01: Có quyền xem và thay đổi dữ liệu: DML, DQL
hr.user02: Có quyền xem, không thể thay đổi dữ liệu: DQL

I.3. Các bước chính xây dựng lab:


1. Chuẩn bị máy tính, mạng kết nối Internet.
2. Download phần mềm
3. Cài đặt phần mềm VirtualBox
4. Cấu hình mạng Host Only
5. Tạo máy ảo MariaDB
6. Cài đặt Fedora qua mạng Internet
7. Cài đặt MobaXterm và thiết lập kết nối đến máy ảo Fedora
8. Thiết lập Fedora
9. Thiết lập cho MariaDB
10. Tạo user và database (schema) dblab
11. Tạo user và database (schema) hr
12. Cài đặt DBeaver
13. Tạo kết nối đến database trên DBeaver.
14. Tạo table và insert dữ liệu cho database hr
15. Kiểm tra

II. Chuẩn bị:

II.1. Thiết bị:


Máy tính làm host: Laptop, PC, cấu hình tối thiểu 4GB RAM, ổ cứng còn trống khoảng 10GB. Máy
tính cần được bật tính năng Virtualization trong BIOS để có thể tạo và chạy được máy ảo 64bit.
Kết nối mạng Internet cho máy host: Kết nối này chỉ cần khi xây dựng lab ban đầu, sau khi lab đã dựng
xong thì không cần thiết phải có mạng Internet nữa.

5/58
II.2. Phần mềm
a) VirtualBox
Phần mềm ảo hóa, miễn phí, cho phép tạo và chạy nhiều máy ảo trên phần cứng có sẵn.
Trang web cho download:
https://www.virtualbox.org/wiki/Downloads
Chuyển đến mục "VirtualBox x.x.x platform packages", chọn đúng link download bộ cài cho hệ điều
hành của máy tính làm host (Ví dụ, nếu là Windows thì chọn link "Windows host")
=> VirtualBox sẽ cài đặt và chạy trên máy host.
b) Fedora 36
Hệ điều hành Linux, miễn phí, có sẵn phần mềm MariaDB
Trang web cho download:
https://alt.fedoraproject.org/en/
Đến mục Everything, download file iso.
=> File iso sẽ được dùng để cài đặt cho máy ảo tạo bằng VirtualBox.
c) MariaDB
Phần mềm database RDBMS, miễn phí.
Do đã có sẵn trong hệ điều hành Fedora nên không cần download riêng.
Trang web của MariaDB:
https://www.mariadb.org/
d) MobaXterm
Phần mềm kết nối SSH miễn phí, có sẵn tính năng lưu password, tích hợp công cụ SFTP, X Server.
https://mobaxterm.mobatek.net/download.html
Download bản Home Edition (Installer edition)
=> MobaXterm sẽ cài đặt và chạy trên máy host.
e) DBeaver
Phần mềm database client, cho phép làm việc với rất nhiều loại database.
https://dbeaver.io/download/
Download bản DBeaver Community, Windows (installer).
=> DBeaver sẽ cài đặt và chạy trên máy host.

III. Cài đặt

III.1. Cài đặt VirtualBox


a) Cài phần mềm VirtualBox
Từ trên máy host, chạy cài đặt phần mềm VirtualBox bằng file exe đã download (ví dụ VirtualBox-
6.1.36-152435-Win.exe).
Chọn các thiết lập mặc định.

6/58
b) Cấu hình Host Only Network
=> Mở VirtualBox, vào Menu File => Host Network Manager

=> Đổi địa chỉ IP cho vboxnet0 thành 192.168.0.1

7/58
III.2. Tạo máy ảo MariaDB
a) Mở VirtualBox, vào menu Machine => Add...

b) Điền thông tin của máy ảo


=> Nhập tên máy ảo: MariaDB
=> Chọn thư mục lưu máy ảo: C:\VM (chọn thư mục ở ổ có đủ dung lượng trống ít nhất khoảng 10G)
=> Loại máy ảo: Linux, Fedora (64-bit) (VM 64bit cần bật chế độ Virtualization trong BIOS máy host)

8/58
c) Cấu hình dung lượng memory
=> Chọn cấp 2G RAM cho máy ảo.
d) Tạo ổ cứng cho máy ảo
Chọn “Create a virtual hardisk now”, nhấn Create
=> Chọn VDI
=> Chọn “Dynamically allocated”
=> Nhập đường dẫn, tên file, và dung lượng tối đa cho phép là 100GB (dung lượng thực sẽ cấp phát
theo dữ liệu lưu thực tế, sẽ rất nhỏ, chỉ khoảng 3GB)

Sau khi tạo xong máy ảo cần thiết lập thêm cho máy ảo MariaDB như thêm card mạng, chọn file iso để
boot.
e) Mở cửa sổ thiết lập của máy ảo MariaDB
Chọn máy ảo MariaDB trong danh sách, nhấn chuột phải và chọn Settings..., hoặc nhấn tổ hợp phím
Ctrl+S.

9/58
f) Thiết lập boot từ file iso Fedora 36
=> Nếu file iso chưa có trong danh sách thì nhấn “Choose/Create a Virtual Optical Disk”.
=> Sau đó nhấn nút Add và chọn file iso Fedora 36 đã download. File iso sẽ được thêm vào danh sách,
chọn file iso mới được thêm.

10/58
11/58
g) Thiết lập thêm card mạng Host Only cho kết nối nội bộ.

12/58
h) Thiết lập thêm card mạng Nat cho kết nối internet.

III.3. Cài đặt Fedora Server 36


a) Khởi động máy ảo MariaDB
=> Mở VirtualBox.
=> Khởi động máy ảo MariaDB, chọn máy ảo MariaDB, double click hoặc nhấn phím Enter.
Máy ảo sẽ khởi động bằng file iso của Fedora đã cấu hình ở bước trước.

13/58
b) Chọn “Install Fedora 36

c) Chọn ngôn ngữ mặc định là tiếng Anh (English)


=> Nhấn Continue để chọn ngôn ngữ mặc định là English.
Trường hợp màn hình đứng yên không phản ứng thì đợi một lát cho các kết nối đến Internet hoàn thành
xong. Có thể sử dụng bàn phím để điều khiển.

14/58
d) Có 5 thành phần cài đặt sẽ cần phải nhập thông tin hoặc điều chỉnh:

e) Chọn timezone: Asia/Ho_Chi_Minh


=> Nhấn vào “Time & Date”

15/58
f) Chọn cài Infrastructure Server và phần mềm MariaDB.
=> Nhấn vào “Software Selection”

16/58
g) Chọn ổ cứng sẽ cài đặt và cấu hình chia phân vùng.
=> Nhấn “Installation destination”
=> Chọn ổ sda, dung lượng 100G (tương ứng với dung lượng lúc tạo ổ ảo).
=> Chọn Storage Configuration: Custom
Chú ý: Nếu bước chọn ổ cứng, dung lượng ổ sda là 8G thì cần tăng dung lượng cho sda bằng làm như
sau:
=> Tắt máy ảo
=> Vào menu: File => Virtual Media Manager, chọn tab Hard disks, chọn trong danh sách ổ ảo của
máy ảo MariaDB (thường có tên là MariaDB.vdi)
=> Chuyển xuống ô Size ở phía dưới, bên phải, nhập giá trị mới (100GB) thay cho giá trị cũ (8GB).
=> Nhấn Apply để áp dụng thay đổi.
=> Sau đó khởi động máy ảo và bắt đầu lại bước "Cài đặt Fedora Server 36".

17/58
Chia phân vùng:
=> Chọn paritioning scheme là LVM.
=> Nhấn vào “Click here to create them automatically”.

18/58
Xóa phân vùng /home:
=> Chọn phân vùng /home => Nhấn nút dấu trừ (-) ở phía dưới.
=> Nhấn done để kết thúc

19/58
Kiểm tra và xác nhận thay đổi:

20/58
h) Cấu hình cho network
=> Nhấn “Network & Hostname”
Cấu hình cho card Host Only
=> Chọn card enp0s3 (Card host only - Xác nhận thông qua Hardware Address)
=> Nhấn Configure…

21/58
Kiểm tra card mạng tự bật khi khởi động

22/58
Thiết lập địa chỉ tĩnh cho IPv4
=> Chọn tab IPv4
=> Chọn Method: Manual
=> Nhấn Add
=> Nhập Address: 192.168.0.105
=> Nhập Netmark: 24

23/58
Tắt IPv6:
=> Chọn tab IPv6
=> Chọn Method: Disabled
=> Nhấn nút Save để kết thúc.

24/58
Cấu hình cho card NAT
=> Chọn card enp0s8 (Card NAT - Xác nhận thông qua Hardware Address)
=> Nhấn Configure…

25/58
26/58
Kiểm tra card NAT đượt bật tự động:

Kiểm tra IPv4 đặt là DHCP:

27/58
Tắt IPv6

28/58
Thiết lập hostname:
=> Nhập hostname là mariadb, nhấn Apply.
=> Nhấn Done để kết thúc cấu hình cho phần Network

29/58
i) Tạo user login vào hệ điều hành:
=> Kéo xuống phần User Settings,
=> Nhấn vào “User Creation”

30/58
Tạo user mariadb:
=> Nhập đủ thông tin cho user mariadb, nhập password là maria105sql
=> Nhấn Done khi hoàn thành.

31/58
32/58
j) Nhấn “Begin Intallation” để chạy cài đặt:

Chương trình cài đặt download các gói, tổng dung lượng khoảng 600MB:

33/58
34/58
Hoàn thành cài đặt:

k) Bỏ ISO khỏi ổ DVD:


Sau khi hoàn thành cài đặt, tắt máy ảo, mở cửa sổ thiết lập cho máy ảo.
Thiết lập bỏ file ISO để máy ảo không boot vào chế độ cài đặt.
Nếu cần có thể bỏ luôn card mạng NAT, vì sau khi cài đặt máy ảo MariaDB không cần đến kết nối
Internet nữa.

35/58
III.4. Khởi động máy ảo MariaDB ở chế độ Headless (chạy
ngầm):
=> Nhấn chuột phải vào máy ảo MariaDB.
=> Chọn Start
=> Chọn Headless Start
Khi máy ảo chạy ở chế độ này, không có cửa sổ của máy ảo và màn hình VirtualBox có thể đóng để
cho gọn.
Nếu muốn hiển thị lại cửa sổ của máy ảo thì chuột phải vào máy ảo và chọn Show.
Nếu muốn đóng cửa sổ của máy ảo thì vào menu Machine => Detach GUI (Không đóng cửa sổ bằng
nút X hoặc File => Close, máy ảo sẽ bị tắt cùng với cửa sổ).

36/58
III.5. Cài đặt phần mềm MobaXterm
Từ trên máy host (Windows), giải nén file cài đặt phần mềm MobaXterm từ file zip, chạy file cài đặt có
đuôi msi (MobaXterm_installer_22.1.msi).
Chọn các thiết lập mặc định trong quá trình cài đặt.

III.6. Thiết lập kết nối SSH đến server bằng MobaXterm.
a) Tạo SSH session
=> Mở MobaXterm
=> Nhấn Session
=> Chọn SSH
=> Nhập IP 192.168.0.105
=> Chọn Specify username
=> Điền tên user: mariadb
=> Nhấn OK để lưu lại session.

37/58
38/58
b) Chọn session để kết nối SSH đến server MariaDB

c) Nhấn OK để lưu lại password cho các lần kết nối sau:
Khi được hỏi password của user mariadb, nhập password (maria105sql) khi cài đặt Fedora 36 cho user
mariadb.
Sau đó nhấn OK để lưu lại password, không phải nhập cho các lần kết nối sau.

39/58
d) Nhập master password:
Nhập master password để bảo vệ các password lưu trữ khi kết nối đến các server.

40/58
e) Phiên làm việc SSH với server:

III.7. Thiết lập cấu hình Fedora cho MariaDB:


a) Thiết lập /etc/hosts
Thêm dòng: “192.168.0.105 mariadb” vào file /etc/hosts, bằng cách chạy lệnh sau:
sudo sh -c 'echo 192.168.0.105 mariadb >> /etc/hosts'
b) Thiết lập firewall:
Chạy 2 lệnh sau để mở firewall cho dịch vụ MariaDB (MariaDB chung tên dịch vụ với mysql):
sudo firewall-cmd --add-service mysql
sudo firewall-cmd --permanent --add-service mysql

41/58
III.8. Thiết lập cấu hình MariaDB
a) Thiết lập cho MariaDB hoạt động trên địa chỉ 192.168.0.105
Chạy lệnh sau để thêm địa chỉ 192.168.0.105 vào cấu hình của MariaDB:
sudo sh -c 'echo bind-address=192.168.0.105 >>/etc/my.cnf.d/mariadb-server.cnf'
b) Khởi động dịch vụ mariadb
Chạy lệnh sau để khởi động dịnh vụ MariaDB:
sudo systemctl start mariadb
c) Thiết lập dịch vụ MariaDB tự khởi động khi bật máy:
Chạy lệnh sau để bật tính năng tự khởi động dịnh vụ MariaDB ngay sau khi khởi động máy ảo:
sudo systemctl enable mariadb
d) Thiết lập secure cho mariadb
Chạy lệnh sau để bật chế độ secure cho MariaDB:
sudo mysql_secure_installation
(Chú ý, bên dưới là màn hình khi chạy lệnh, các dòng in đậm cần nhập giá trị hoặc là Enter để chạy với
giá trị mặc định, nhập password mới cho user root là maria105sql )
=====
[mariadb@mariadb ~]$ sudo mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none):


OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] n


... skipping.

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y


New password: maria105sql
Re-enter new password: maria105sql

42/58
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone


to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y


... Success!

Normally, root should only be allowed to connect from 'localhost'. This


ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n]


... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n]


- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y


... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!


[mariadb@mariadb ~]$
=====

43/58
III.9. Tạo user và database (schema) dblab
a) Kết nối bằng SSH vào server MariaDB:
Mở MobaXterm, mở phiên làm việc “192.168.0.105 (mariadb)”

b) Kết nối vào MariaDB bằng user root:


Nhập lệnh kết nối đến MariaDB, kết nối bằng user root, nhập password là maria105sql (đã nhập ở bước
chạy mysql_secure_installation lúc trước):
mysql -u root -p
c) Tạo database dblab
Trong màn hình client mysql, nhập lệnh sau để tạo database dblab:
CREATE DATABASE dblab
CHARACTER SET = 'utf8'
COLLATE = 'utf8_general_ci';
d) Tạo user dblab.admin
Trong màn hình client mysql, nhập lệnh sau để tạo user dblab.admin, password maria105sql, sau đó
cấp toàn bộ quyền truy cập trên database dblab cho user dblab.admin:
CREATE USER 'dblab.admin'@'192.168.0.0/255.255.255.0' IDENTIFIED BY 'maria105sql';
GRANT ALL PRIVILEGES ON dblab.* TO 'dblab.admin'@'192.168.0.0/255.255.255.0' WITH
GRANT OPTION;
e) Tạo user dblab.user01
Trong màn hình client mysql, nhập lệnh sau để tạo user dblab.user01, password maria105sql, sau đó
cấp quyền đọc và thay đổi dữ liệu trên database dblab cho user dblab.user01:
CREATE USER 'dblab.user01'@'192.168.0.0/255.255.255.0' IDENTIFIED BY 'maria105sql';
GRANT INSERT,UPDATE,DELETE ON dblab.* TO 'dblab.user01'@'192.168.0.0/255.255.255.0';
GRANT SELECT ON dblab.* TO 'dblab.user01'@'192.168.0.0/255.255.255.0';
f) Tạo user dblab.user02
Trong màn hình client mysql, nhập lệnh sau để tạo user dblab.user02, password maria105sql, sau đó
chỉ cấp quyền đọc dữ liệu trên database dblab cho user dblab.user02, dblab.user02 sẽ không thể thay
đổi dữ liệu trong dblab:
CREATE USER 'dblab.user02'@'192.168.0.0/255.255.255.0' IDENTIFIED BY 'maria105sql';
GRANT SELECT ON dblab.* TO 'dblab.user02'@'192.168.0.0/255.255.255.0';

III.10. Tạo user và database (schema) hr


a) Kết nối bằng SSH vào server MariaDB:
Mở MobaXterm, mở phiên làm việc “192.168.0.105 (mariadb)”

44/58
b) Kết nối vào MariaDB bằng user root:
Nhập lệnh kết nối đến MariaDB, kết nối bằng user root, nhập password là maria105sql (đã nhập ở bước
chạy mysql_secure_installation lúc trước):
mysql -u root -p
c) Tạo database hr
Trong màn hình client mysql, nhập lệnh sau để tạo database hr:
CREATE DATABASE hr
CHARACTER SET = 'utf8'
COLLATE = 'utf8_general_ci';
d) Tạo user hr.admin
Trong màn hình client mysql, nhập lệnh sau để tạo user hr.admin, password maria105sql, sau đó cấp
toàn bộ quyền truy cập trên database hr cho user hr.admin:
CREATE USER 'hr.admin'@'192.168.0.0/255.255.255.0' IDENTIFIED BY 'maria105sql';
GRANT ALL PRIVILEGES ON hr.* TO 'hr.admin'@'192.168.0.0/255.255.255.0' WITH GRANT
OPTION;
e) Tạo user hr.user01
Trong màn hình client mysql, nhập lệnh sau để tạo user hr.user01, password maria105sql, sau đó cấp
quyền đọc và thay đổi dữ liệu trên database hr cho user hr.user01:
CREATE USER 'hr.user01'@'192.168.0.0/255.255.255.0' IDENTIFIED BY 'maria105sql';
GRANT INSERT,UPDATE,DELETE ON hr.* TO 'hr.user01'@'192.168.0.0/255.255.255.0';
GRANT SELECT ON hr.* TO 'hr.user01'@'192.168.0.0/255.255.255.0';
f) Tạo user hr.user02
Trong màn hình client mysql, nhập lệnh sau để tạo user hr.user02, password maria105sql, sau đó chỉ
cấp quyền đọc dữ liệu trên database hr cho user hr.user02, hr.user02 sẽ không thể thay đổi dữ liệu trong
hr:
CREATE USER 'hr.user02'@'192.168.0.0/255.255.255.0' IDENTIFIED BY 'maria105sql';
GRANT SELECT ON hr.* TO 'hr.user02'@'192.168.0.0/255.255.255.0';

III.11. Cài đặt DBeaver


a) Cài đặt DBeaver
Từ trên máy host (Windows), chạy cài đặt từ file dbeaver-ce-latest-x86_64-setup.exe đã download ở
bước trước.
Lựa chọn các thiết lập mặc định
b) Sửa lỗi không download được driver trên Windows:
DBeaver bị lỗi không download được các driver mới.
Cách xử lý: Tìm file dbeaver.ini, mở file và xóa dòng “-Djavax.net.ssl.trustStoreType=WINDOWS-
ROOT”.

45/58
Tìm file dbeaver.ini
=> Nhấn phải vào shotcut của DBeaver và chọn “Open file location”

=> Hoặc mở Start menu, gõ vào từ dbeaver, nhấn phải vào DBeaver, chọn Open file location.
=> Tiếp tục nhấn chuột phải vào shotcut DBeaver và chọn Open file location.
Tìm file dbeaver.ini, nhấn phải và chọn Edit

Xóa dòng gây lỗi khỏi file dbeaver.ini


Xóa toàn bộ dòng “-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT”
Lưu file và đóng cửa sổ.

46/58
c) Download driver MariaDB cho DBeaver
Mở DBeaver
=> Chọn “Allow access” nếu có
Vào menu : Database => Driver Manager

=> Nhập vào ô tìm kiếm MariaDB,


=> Chọn MariaDB và bấm Edit …

47/58
=> Chọn tab Libraries
=> Bấm “Download/Update”

=> Nhấn Download:

48/58
=> Nhấn nút OK sau khi download xong driver MariaDB.
=> Nhấn nút OK để đóng cửa sổ Edit driver MariaDB.
=> Nhấn nút Close để đóng cửa sổ Driver Manager.

III.12. Tạo kết nối đến database dblab


a) Tạo mới kết nối trong DBeaver
=> Chạy DBeaver
=> Nhấn nút tạo mới connection, hoặc vào menu Database=>”New database connection”

49/58
b) Chọn driver MariaDB
=> Chọn loại SQL, chọn MariaDB

c) Nhập các thông số kết nối đến database:


Nhập các thông số để kết nối đến database dblab:
Sau khi nhập đủ, có thể nhấn Test connection để kiểm tra.

50/58
d) Sửa lại tên connection thành dblab (dblab.admin):
Nhấn phải vào connection mới tạo và chọn “Edit Connection”

51/58
Chọn mục General và sửa Connection name thành “${database} (${user})”:

Tên của connection sẽ được tự động cập nhật theo tên thực tế của database và
user “dblab (dblab.admin)”

e) Tạo kết nối cho 02 user còn lại:


Tạo connection theo cách tương tự cho 02 user còn lại (dblab.user01, dblab.user02):

52/58
III.13. Tạo kết nối đến database hr
Dùng DBeaver, tạo thêm 03 kết nối đến database hr cho các user hr.admin, hr.user01 và hr.user02.
Các bước làm tương tự như khi tạo kết nối cho dblab, chỉ thay đổi tên database và tên user.
Danh sách các kết nối đã tạo trong DBeaver sẽ như trong hình sau:

III.14. Tạo table và insert dữ liệu cho database hr


a) Download script hr-schema-mysql.sql
Download script từ đường link sau:
https://raw.githubusercontent.com/nomemory/hr-schema-mysql/master/hr-schema-mysql.sql
Lưu file script, tên file sẽ là hr-schema-mysql.sql
b) Dùng DBeaver chạy script bằng user hr.admin
Sử dụng DBeaver, kết nối đến database hr bằng user hr.admin để chạy script vừa download được.
Chú ý: Script phải chạy bằng nút “Execute script” , không chạy bằng nút “Execute SQL
statement”
=> Chạy DBeaver
=> Mở kết nối hr (hr.admin)
=> Mở databases => nhấn chuột phải vào hr
=> Chọn “SQL Editor” => Chọn “Open SQL Console”

53/58
=> Nhấn chuột phải vào nền bên trong của tab “<hr (hr.admin)> Console”
=> Chọn File => Import SQL script

=> Chọn thư mục chứa file script, chọn file script hr-schema-mysql.sql và nhấn Open.

54/58
=> Nhấn nút “Execute script”, chú ý đừng nhấn vào nút "Execute SQL statement" ở trên.

Sau khi chạy script thành công, các table và dữ liệu sẽ được tạo trong database hr. Lược đồ ERD sẽ như
sau:

55/58
III.15. Kiểm tra
a) Kết nối bằng SSH vào server MariaDB:
Mở MobaXterm, mở phiên làm việc “192.168.0.105 (mariadb)”
b) Kết nối vào MariaDB bằng user root:
Nhập lệnh kết nối đến MariaDB, kết nối bằng user root, nhập password là maria105sql (đã nhập ở bước
chạy mysql_secure_installation lúc trước):
mysql -u root -p
c) Kiểm tra trong danh sách databases có dblab và hr
Sử dụng lệnh sau:
show databases;

56/58
d) Kiểm tra danh sách có đủ 03 user dblab và 03 user hr:
Sử dụng lệnh sau:
SELECT CONCAT(QUOTE(user),'@',QUOTE(host)) UserAccount
FROM mysql.user
WHERE user LIKE 'dblab.%' OR user LIKE 'hr.%';
e) Kiểm tra không table trong dblab:
Sử dụng lệnh sau:
SHOW TABLES FROM dblab;
f) Kiểm tra có 08 table (view) trong hr:
Sử dụng lệnh sau:
SHOW TABLES FROM hr;
g) Kiểm tra table hr.countries có 25 bản ghi:
Sử dụng lệnh sau:
SELECT count(*) FROM hr.countries;
h) Kiểm tra table hr.departments có 27 bản ghi:
Sử dụng lệnh sau:
SELECT count(*) FROM hr.departments;
i) Kiểm tra view hr.emp_details_view có 106 bản ghi:
Sử dụng lệnh sau:
SELECT count(*) FROM hr.emp_details_view;
j) Kiểm tra table hr.employees có 107 bản ghi:
Sử dụng lệnh sau:
SELECT count(*) FROM hr.employees;
k) Kiểm tra table hr.job_history có 10 bản ghi:
Sử dụng lệnh sau:
SELECT count(*) FROM hr.job_history;
l) Kiểm tra table hr.jobs có 19 bản ghi:
Sử dụng lệnh sau:
SELECT count(*) FROM hr.jobs;
m) Kiểm tra table hr.locations có 23 bản ghi:
Sử dụng lệnh sau:
SELECT count(*) FROM hr.locations;
n) Kiểm tra table hr.regions có 4 bản ghi:
Sử dụng lệnh sau:
SELECT count(*) FROM hr.regions;

57/58
IV. Một số trang tham khảo:
1. Trang tài liệu của MariaDB:
https://mariadb.org/documentation/
2. Trang tự học SQL:
https://www.w3resource.com/sql/tutorials.php
3. Trang tự học MySQL:
https://www.w3resource.com/mysql-exercises/
4. Trang tự học MySQL:
https://www.mysqltutorial.org/
5. Trang tự học MariaDB:
https://www.mariadbtutorial.com/
6. Trang SQL Notes for Professionals:
https://books.goalkicker.com/SQLBook/SQLNotesForProfessionals.pdf

58/58

You might also like