2 Kiến Trúc Và Phân Loại DBMS - Langbiang
Có thể bạn quan tâm
Menu
- Trang chủ
- Tự học
- Đọc sách
- Đọc báo
- Nhân bản
- Dân tộc
- Khai phóng
- Hình ảnh
- Thuật ngữ
- Bạn Quen
Tìm kiếm trong Blog
DBMS (2) - Làm quen với DBMS
Bài trước: DBMS (1) - Tổng quan
-----
1.1Làm quen với DBMS
1.1.1Định nghĩa và một số thông tin
Hệ quản trị cơ sở dữ liệu (Database Management System – DBMS) là một hệ thống phần mềm, được sử dụng để tạo, quản lý và khai thác cơ sở dữ liệu.
Một số hệ quản trị cơ sở dữ liệu phổ biến (theo khảo sát của Stackoverflow):
| MySQL | PostgreSQL | Microsoft SQL Server | SQLite |
| MongoDB | Redis | Oracle | MariaDB |
| Elasticsearch | DynamoDB | Firebase | Cloud Firestore |
| Cassandra | Neo4j | IBM DB2 | CouchDB |
| Couchbase |
Hình sau là biểu tượng/biểu trưng (logo) của một số hệ quản trị cơ sở dữ liệu:

1.1.2MySQL
Để dễ dàng tìm hiểu về hệ quản trị cơ sở dữ liệu, chúng ta sẽ tìm hiểu về MySQL, là một trong các hệ quản trị cơ sở dữ liệu phổ biến.
MySQL là một hệ quản trị cơ sở dữ liệu (kiểu quan hệ, mã nguồn mở). Hiện nay, Oracle đang sở hữu MySQL. Dựa trên MySQL người ta tạo ra MariaDB. MariaDB được khuyến cáo sử dụng cho các dự án thực tế.
Một số hệ thống đang sử dụng MySQL: Drupal, Joomla, Wordpress, phpBB, Facebook, Youtube, Twitter.
Phiên bản đầu tiên được công bố 1995. Một số phiên bản của MySQL: 5.1; 5,5; 5.6; 5.7; 8.0
MySQL cũng như các DBMS khác, nó thường gồm 3 thành phần sau:
– Thành phần cốt lõi của một DBMS thường gọi là Database Engine, thành phần này thực hiện việc lưu trữ, xử lý và bảo mật dữ liệu.
– Công cụ giúp người sử dụng có thể giao tiếp/làm việc được với Database Engine.
– Cơ sở dữ liệu được tạo trong Database Engine.
Tải và cài đặt MySQL thủ công
Bước 1. Tải gói Database Engine về máy
– Vào trang google, gõ từ khóa mysql để tìm kiếm
– Mở trang web của mysql (https://www.mysql.com/)
– Tìm tới mục Downloads
– Nên chọn bản miễn phí (community) để cài đặt. Ví dụ bấm vào mục “MySQL Community (GPL) Downloads” để tìm bản miễn phí
– Chọn MySQL Community Server (đây chính là hệ quản trị cơ sở dữ liệu MySQL và các công cụ đi kèm), chọn gói cài đặt thủ công “Windows (x86, 64-bit), ZIP Archive”, kích thước khoảng 215MB.
– Sau khi tải về máy, giải nén, chép toàn bộ tập tin và thư mục con (ví dụ: bin, docs, include, lib, share,…) vào thư mục C:\Program Files\mysql (nhớ tạo mới thư mục mysql).
– Mở chương trình dòng lệnh (CMD, Command Prompt), chuyển dấu nhắc tới thư mục C:\Program Files\mysql/bin
– Chạy lệnh khởi tạo (initialize) một số thành phần của MySQL server trước khi bạn có thể sử dụng nó. Lệnh khởi tạo sẽ tạo thư mục data, tạo ra các bảng hệ thống, khởi tạo tablespace, tải server-side help tables, cài đặt sys schema, tạo một tài khoản quản trị. Vì lệnh này khởi tạo các thông tin ban đầu cho hệ thống, nên chỉ cần thực hiện lệnh này một lần duy nhất.
C:\Program Files\mysql\bin>mysqld --initialize
C:\Program Files\mysql\bin>
Nếu chạy lệnh mysqld –initialize thành công, hệ thống sẽ không có thông báo gì trong cửa sổ dòng lệnh, tuy nhiên bạn sẽ thấy trong thư mục C:\Program Files\mysql sẽ có thêm thư mục data
– Tới đây, bạn đã có thể chạy MySQL server bằng lệnh mysqld, thêm tham số --console để xuất các thông báo ra màn hình dòng lệnh
C:\Program Files\mysql\bin>mysqld --console
2022-08-08T03:59:06.279226Z 0 [System] [MY-010116] [Server] C:\Program Files\mysql\bin\mysqld.exe (mysqld 8.0.30) starting as process 18720
2022-08-08T03:59:06.499289Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-08-08T03:59:11.153973Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-08-08T03:59:13.156572Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2022-08-08T03:59:13.157031Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2022-08-08T03:59:13.286810Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060
2022-08-08T03:59:13.287237Z 0 [System] [MY-010931] [Server] C:\Program Files\mysql\bin\mysqld.exe: ready for connections. Version: '8.0.30' socket: '' port: 3306 MySQL Community Server - GPL.
Nếu chạy thành công, bạn mở Task Manager\Processes\ sẽ thấy tiến trình mysqld.exe đang chạy (nếu không có trong tab Processes, bạn có thể tìm trong tab Task Manager/Details).
– Bạn đã có thể kết nối (truy cập) vào MySQL server bằng lệnh. Mở thêm cửa sổ dòng lệnh mới (CMD, Command Prompt), nhập lệnh sau:
C:\Program Files\mysql\bin>mysql -u root -h localhost
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Trong đó,
– mysql: lệnh để kết nối vào MySQL server
– -u: (user) tên đăng nhập là root
– -h: (host) địa chỉ máy server là localhost
Lệnh trên bị lỗi, không kết nối được tới MySQL server, do hệ thống đã đặt mật khẩu mặc định cho user root, nhưng bạn lại không nhập mật khẩu mặc định này.
– Bạn cần lấy được mật khẩu của root trong tập tin C:\Program Files\mysql\data\ %tài khoản windows hiện tại%.err (ví dụ C:\Program Files\mysql\data\ DESKTOP-7LPDOL6.err). Mở tập tin bằng phần mềm hiển thị văn bản bất kì (ví dụ : notepad).
2022-08-08T03:50:05.403069Z 0 [System] [MY-013169] [Server] C:\Program Files\mysql\bin\mysqld.exe (mysqld 8.0.30) initializing of server in progress as process 7936
2022-08-08T03:50:06.648513Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-08-08T03:50:16.600127Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-08-08T03:50:26.735031Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: we=:uo<t*5Dl
– Bạn sẽ thấy được mật khẩu của root hiện tại (ví dụ: we=:uo<t*5Dl)
– Kết nối lại vào MySQL server với mật khẩu của root ở trên
C:\Program Files\mysql\bin>mysql -u root -h localhost -p
Enter password: ************
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.30
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
– Vậy là bạn đã kết nối được vào MySQL server, dấu nhắc lệnh hiện tại đang là mysql>
– Bạn có thể đổi mật khẩu cho user root bằng lệnh sau:
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.06 sec)
mysql>
– Để ngắt (thoát khỏi) phiên kết nối, sử dụng lệnh exit
mysql> exit
Bye
C:\Program Files\mysql\bin>
– Kết nối lại vào MySQL server bằng mật khẩu vừa thay đổi xem có được không?
C:\Program Files\mysql\bin>mysql -u root -h localhost -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.30 MySQL Community Server - GPL
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Tắt (shutdown) MySQL server
Để tắt (kết thúc) MySQL server bạn có thể sử dụng 2 cách.
Cách 1, sử dụng lệnh mysqladmin
C:\Program Files\mysql\bin>mysqladmin -u root -p shutdow
Enter password: ******
C:\Program Files\mysql\bin>
Ra ngoài cửa sổ Task Manager/Processes kiểm tra sẽ không thấy còn tiến trình mysqld.exe. Hoặc mở cửa sổ dòng lệnh đang chạy lệnh mysqld --console sẽ thấy thông báo MySQL server đã shutdow.
…
2022-08-08T08:04:13.945957Z 0 [System] [MY-013105] [Server] C:\Program Files\mysql\bin\mysqld.exe: Normal shutdown.
2022-08-08T08:04:16.046530Z 0 [System] [MY-010910] [Server] C:\Program Files\mysql\bin\mysqld.exe: Shutdown complete (mysqld 8.0.30) MySQL Community Server - GPL.
C:\Program Files\mysql\bin>
Cách 2, tại cửa sổ dòng lệnh đang chạy MySQL server, bấm tổ hợp phím Ctrl + C. Ví dụ:
C:\Program Files\mysql\bin>mysqld --console
2022-08-08T08:32:41.649959Z 0 [System] [MY-010116] [Server] C:\Program Files\mysql\bin\mysqld.exe (mysqld 8.0.30) starting as process 13352
2022-08-08T08:32:41.674777Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-08-08T08:32:46.478917Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-08-08T08:32:47.637889Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2022-08-08T08:32:47.638357Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2022-08-08T08:32:47.832739Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060
2022-08-08T08:32:47.833051Z 0 [System] [MY-010931] [Server] C:\Program Files\mysql\bin\mysqld.exe: ready for connections. Version: '8.0.30' socket: '' port: 3306 MySQL Community Server - GPL.
2022-08-08T08:32:52.057427Z 0 [System] [MY-013105] [Server] C:\Program Files\mysql\bin\mysqld.exe: Normal shutdown.
^C
C:\Program Files\mysql\bin>2022-08-08T08:32:52.594288Z 0 [System] [MY-010910] [Server] C:\Program Files\mysql\bin\mysqld.exe: Shutdown complete (mysqld 8.0.30) MySQL Community Server - GPL.
Chạy MySQL server dưới dạng một dịch vụ (services)
Trong một số tình huống sử dụng thực tế, bạn cần chạy MySQL server dưới dạng một dịch vụ, chứ không phải dưới dạng một chương trình như ở ví dụ trên.
Để chạy MySQL dưới dạng một dịch vụ, bạn thực hiện như sau:
C:\Program Files\mysql\bin>mysqld --install "MySQL 8.0"
Service successfully installed.
C:\Program Files\mysql\bin>
Nếu lệnh trên thực hiện thành công, khi bạn vào Task Manager/Processes hoặc Task Manager/Details sẽ không thấy có tiến trình MySQL. Vì nó đang chạy dưới dạng dịch vụ, nên nó sẽ có trong Task Manager/Services. Trạng thái của nó đang là stopped, bạn chuột phải vào dịch vụ MySQL 8.0 > chọn start để khởi chạy dịch vụ MySQL. Nếu thành công trạng thái của dịch vụ sẽ là running.
Tắt service MySQL
Để tắt dịch vụ MySQL, bạn sử dụng lệnh sau:
C:\Program Files\mysql\bin>mysqld --remove "MySQL 8.0"
Failed to remove the service because the service is running
Stop the service and try again
Lệnh mysqld --remove không thực hiện được, do chưa dừng dịch vụ MySQL, nên cần thực hiện lệnh stop như sau:
C:\Program Files\mysql\bin>mysqladmin -u root -p shutdow
Enter password: ******
C:\Program Files\mysql\bin>mysqld --remove "MySQL 8.0"
Service successfully removed.
C:\Program Files\mysql\bin>
Bạn có thể thực hiện các lệnh trên nhiều lần, mở cửa sổ Task Manager để quan sát kết quả. Mục đích để bạn thực sự kiểm soát được tình trạng hoạt động của MySQL server. Trước khi bạn có thể tạo dữ liệu và khai thác dữ liệu trên máy MySQL server.
1.1.3Xem và đọc thêm
– Dùng các từ khóa sau để tìm kiếm trên mạng và đọc thêm: hệ quản trị cơ sở dữ liệu, DBMS, MySQL server
– Chu Thị Hường, Bài giảng Hệ quản trị CSDL, trang [3,4] [ebook]
– Tải, cài đặt MySQL thủ công: https://www.youtube.com/watch?v=zyW83fDBt5A
1.1.4Bài tập và thực hành
Bài tập 1: Tải và cài đặt MySQL thủ công.
Bài tập 2: Thực hiện thuần thục các thao tác trên MySQL server: khởi tạo, chạy, kết nối, đổi mật khẩu root, ngắt kết nối, tắt chương trình MySQL, chạy và tắt MySQL server dưới dạng một dịch vụ (service)
1.1.5Câu hỏi ôn tập
Câu 1. Một số hệ quản trị cơ sở dữ liệu gồm:
A. Excel, MongoDB, Oracle, Firebase, Neo4j
B. MySQL, Windows, Oracle, Firebase, Neo4j
C. MySQL, MongoDB, Oracle, Linux, Neo4j
D. MySQL, MongoDB, Oracle, Firebase, Neo4j
Câu 2. Trong MySQL, lệnh mysqld --install "MySQL 8.0" dùng để làm gì?
A. Cài đặt MySQL server dưới dạng một dịch vụ
B. Chạy chương trình MySQL server
C. Tải MySQL server từ trên mạng về máy tính
D. Gỡ bỏ MySQL server
Câu 3. Tham số ‘--console’ trong lệnh mysqld --console, có ý nghĩa gì?
A. Để tắt MySQL server
B. Để ngắt kết nối tới MySQL server
C. Để xuất các thông báo của lệnh mysqld ra cửa sổ dòng lệnh
D. Để chạy MySQL server
Đáp án: 1(D), 2(A), 3(C)
////// 2
-----
Cập nhật: [8/8/2022]-----Bài tiếp: DBMS (3) - Thao tác với Database Engine bằng dòng lệnh Labels: DBMS, Làm quen với DBMS, MySQL, MySQL server Bài đăng Mới hơn Bài đăng Cũ hơn Trang chủBài được xem nhiều
- JavaScript (4) - Kiểu dữ liệu number
- Web front-end (3) - URL, siêu liên kết và siêu văn bản
- Web front-end (4) - HTML_Tạo một trang web đơn giản
- Web front-end (1) - Web là gì?
- CSS (1) - Tổng quan
- Web front-end (2) - Trình duyệt web là gì?
- CSS (2) - Sự kế thừa, Xếp lớp
- Web front-end (5) - HTML_Hoàn thiện trang web đơn giản
- Web front-end (6) - HTML - Hiển thị văn bản
- Web front-end (7) - HTML - Bố cục một trang web
Education
- chungta
- Dương Ngọc Thái - google
- GS. Nguyễn Văn Tuấn
- GS. John Vu
- NCGDVN
- Ngọc Hiếu
- Nguyễn Quốc Toàn EQuest
- Tonybuoisang
- VietSuccess
- vuhavan
Health
- Bs Đỗ Hồng Ngọc
Tác giả blog
Lưu trữ Blog
- ► 2025 (112)
- ► tháng 12 (1)
- ► tháng 11 (7)
- ► tháng 10 (21)
- ► tháng 9 (15)
- ► tháng 8 (14)
- ► tháng 7 (8)
- ► tháng 6 (4)
- ► tháng 5 (3)
- ► tháng 4 (7)
- ► tháng 3 (20)
- ► tháng 2 (7)
- ► tháng 1 (5)
- ► 2024 (66)
- ► tháng 12 (11)
- ► tháng 11 (15)
- ► tháng 10 (12)
- ► tháng 9 (8)
- ► tháng 8 (6)
- ► tháng 7 (1)
- ► tháng 6 (1)
- ► tháng 4 (6)
- ► tháng 3 (3)
- ► tháng 2 (1)
- ► tháng 1 (2)
- ► 2023 (59)
- ► tháng 12 (3)
- ► tháng 11 (3)
- ► tháng 10 (3)
- ► tháng 9 (1)
- ► tháng 8 (3)
- ► tháng 7 (1)
- ► tháng 6 (6)
- ► tháng 5 (2)
- ► tháng 4 (10)
- ► tháng 3 (14)
- ► tháng 2 (8)
- ► tháng 1 (5)
- ► 2022 (40)
- ► tháng 12 (3)
- ► tháng 11 (3)
- ► tháng 10 (5)
- ► tháng 9 (8)
- ► tháng 8 (4)
- ► tháng 7 (5)
- ► tháng 5 (1)
- ► tháng 4 (2)
- ► tháng 3 (5)
- ► tháng 2 (3)
- ► tháng 1 (1)
- ► 2021 (32)
- ► tháng 12 (2)
- ► tháng 11 (3)
- ► tháng 10 (4)
- ► tháng 9 (4)
- ► tháng 8 (1)
- ► tháng 7 (1)
- ► tháng 6 (2)
- ► tháng 5 (2)
- ► tháng 4 (4)
- ► tháng 3 (6)
- ► tháng 2 (1)
- ► tháng 1 (2)
- ► 2019 (49)
- ► tháng 12 (2)
- ► tháng 11 (4)
- ► tháng 10 (8)
- ► tháng 9 (3)
- ► tháng 5 (6)
- ► tháng 4 (7)
- ► tháng 3 (11)
- ► tháng 2 (3)
- ► tháng 1 (5)
- ► 2018 (60)
- ► tháng 12 (10)
- ► tháng 11 (6)
- ► tháng 10 (9)
- ► tháng 9 (11)
- ► tháng 8 (10)
- ► tháng 7 (6)
- ► tháng 2 (1)
- ► tháng 1 (7)
- ► 2017 (91)
- ► tháng 12 (8)
- ► tháng 11 (11)
- ► tháng 8 (3)
- ► tháng 7 (16)
- ► tháng 6 (7)
- ► tháng 5 (18)
- ► tháng 4 (11)
- ► tháng 3 (3)
- ► tháng 2 (9)
- ► tháng 1 (5)
- ► 2016 (92)
- ► tháng 12 (7)
- ► tháng 11 (24)
- ► tháng 10 (20)
- ► tháng 9 (26)
- ► tháng 8 (4)
- ► tháng 7 (1)
- ► tháng 6 (3)
- ► tháng 5 (2)
- ► tháng 4 (1)
- ► tháng 3 (1)
- ► tháng 1 (3)
- ► 2015 (33)
- ► tháng 12 (3)
- ► tháng 11 (2)
- ► tháng 10 (1)
- ► tháng 9 (2)
- ► tháng 6 (2)
- ► tháng 5 (4)
- ► tháng 4 (6)
- ► tháng 3 (5)
- ► tháng 2 (2)
- ► tháng 1 (6)
- ► 2014 (58)
- ► tháng 12 (3)
- ► tháng 11 (12)
- ► tháng 10 (8)
- ► tháng 9 (11)
- ► tháng 8 (2)
- ► tháng 7 (1)
- ► tháng 6 (2)
- ► tháng 5 (3)
- ► tháng 4 (11)
- ► tháng 3 (1)
- ► tháng 2 (2)
- ► tháng 1 (2)
- ► 2013 (30)
- ► tháng 12 (2)
- ► tháng 11 (1)
- ► tháng 10 (5)
- ► tháng 9 (6)
- ► tháng 8 (5)
- ► tháng 7 (3)
- ► tháng 6 (1)
- ► tháng 5 (1)
- ► tháng 4 (4)
- ► tháng 1 (2)
- ► 2012 (19)
- ► tháng 12 (1)
- ► tháng 10 (3)
- ► tháng 6 (1)
- ► tháng 4 (7)
- ► tháng 3 (6)
- ► tháng 2 (1)
- ► 2011 (16)
- ► tháng 11 (5)
- ► tháng 10 (1)
- ► tháng 9 (3)
- ► tháng 6 (1)
- ► tháng 5 (2)
- ► tháng 4 (2)
- ► tháng 3 (2)
Từ khóa » Các Loại Dbms
-
Các Loại Cơ Sở Dữ Liệu - TEL4VN
-
Database Là Gì? Các Loại Database Phổ Biến - Thư Viện Khoa Học
-
Top 10 Hệ Quản Trị Cơ Sở Dữ Liệu Phổ Biến Nhất
-
Cơ Sở Dữ Liệu Database Là Gì? Có Những Loại Database Nào?
-
Database Là Gì? Các Loại Database Hiện Nay - Thiết Kế Website
-
Các Loại Database Phổ Biến Hiện Nay, Chọn Cơ Sở Dữ Liệu Nào Phù ...
-
Tổng Hợp Top 5 Hệ Quản Trị Cơ Sở Dữ Liệu Phổ Biến Nhất Năm 2022
-
Danh Sách 10 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Tốt Nhất ! | TopDev
-
Các Hệ Quản Trị Cơ Sở Dữ Liệu Phổ Biến Nhất Hiện Nay (cập Nhật 2022)
-
Hệ Quản Trị Cơ Sở Dữ Liệu Là Gì? Chức Năng DBMS - Vietnix
-
SQL Căn Bản Dành Cho QA - Giới Thiệu - Viblo
-
DBMS (Hệ Thống Quản Lý Cơ Sở Dữ Liệu)
-
Hiểu Và Chọn Database Trong NoSQL DBMS [Part1] - Các Loại ...
-
Cơ Sở Dữ Liệu – Wikipedia Tiếng Việt