Hotline : 07 088 44444
Thích
Chia sẻ

MySQL là gì? Toàn bộ kiến thức về MySQL

19/02/2021

Để hiểu MySQL, trước tiên bạn cần hiểu cơ sở dữ liệu và SQL. Nếu bạn đã biết cơ sở dữ liệu và SQL, bạn có thể chuyển đến phần MySQL là gì.

MySQL là gì?

MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở viết tắt RDBMS phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Hoạt động theo mô hình Client – Server. MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu và mỗi cơ sở dữ liệu có nhiều bảng quan hệ chứa dữ liệu.

mySQL là gì
MySQL là gì?

MySQL là một hệ quản trị cơ sở dữ liệu cho phép bạn quản lý cơ sở dữ liệu liên quan. Nó là phần mềm mã nguồn mở được hỗ trợ bởi Oracle. Nó có nghĩa là bạn có thể sử dụng MySQL mà không phải trả phí. Ngoài ra, bạn có thể thay đổi mã nguồn của nó để phù hợp với nhu cầu của mình.

Lịch sử phát triển của MySQL

Quá trình phát triển và hình thành của MySQL được tóm tắt lại như sau:

  • Năm 1994, MySQL được phát triển bởi MySQL AB.
  • Năm 1995, phiên bản mới nhất của MySQL đucợ phát hành.
  • Năm 2008, MySQL AB được mua lại bởi công ty Sun Microsystems.
  • Năm 2010, Sun Microsystems được mua lại bởi công ty Oracle.
  • Đội ngũ phát triển của MySQL tách MySQL ra thành 1 nhánh gọi là MariaDB.
  • Phiên bản 5.6 được phát hành năm 2013.
  • Phiên bản 5.7 được phát hành năm 2015.

MySQL hiện nay có 2 phiên bản miễn phí gồm MySQL Community Server và phiên bản có phí Enterprise Server.

SQL – Ngôn ngữ của cơ sở dữ liệu quan hệ

Vốn dĩ, SQL là viết tắt của ngôn ngữ truy vấn mang tính cấu trúc. Ngôn ngữ SQL là ngôn ngữ chuẩn hóa được sử dụng để truy cập cơ sở dữ liệu. ANSI / SQL xác định tiêu chuẩn SQL. Phiên bản hiện tại của SQL là SQL: 2016. Bất cứ khi nào đề cập đến tiêu chuẩn SQL, chúng ta đều muốn nói đến phiên bản SQL hiện tại.

Cùng tìm hiểu qua về khái niệm SQL
Cùng tìm hiểu qua về khái niệm SQL

SQL chứa ba phần:

  1. Định nghĩa dữ liệu bao gồm các câu lệnh giúp bạn xác định cơ sở dữ liệu và các đối tượng của nó, ví dụ: table, view, trigger, stored procudures, v.v.
  2. Thao tác dữ liệu chứa các câu lệnh cho phép bạn cập nhật và truy vấn dữ liệu.
  3. Điều khiển dữ liệu cho phép bạn cấp quyền cho người dùng truy cập dữ liệu cụ thể trong cơ sở dữ liệu.

Xem thêm: SQL là gì? Các câu lệnh của SQL

MySQL hoạt động như thế nào?

Cách thức hoạt động trong MySQL là mô hình Client – Server. Cùng Vietnix tìm hiểu rõ hơn về mô hình này ngay ở dưới đây.

Mô hình được sử dụng trong MySQL
Mô hình được sử dụng trong MySQL

Hình ảnh giải thích cơ bản của cấu trúc máy khách-máy chủ. Một hoặc nhiều thiết bị (máy khách) kết nối với máy chủ thông qua một mạng cụ thể. Mọi máy khách có thể đưa ra yêu cầu từ giao diện người dùng trên màn hình của họ và máy chủ sẽ tạo ra kết quả mong muốn, miễn là cả hai đầu đều hiểu hướng dẫn. Các quy trình chính diễn ra trong môi trường MySQL đều giống nhau, đó là:

  • MySQL tạo cơ sở dữ liệu để lưu trữ và thao tác dữ liệu, xác định mối quan hệ của từng bảng.
  • Client có thể đưa ra yêu cầu bằng cách nhập các câu lệnh SQL cụ thể trên MySQL.
  • Server application sẽ phản hồi với thông tin được yêu cầu và nó sẽ xuất hiện ở phía máy khách.

Ở phía Client, sẽ để ý đến MySQL GUI (Giao diện đồ họa người dùng) sử dụng. GUI càng nhẹ và thân thiện với người dùng, các hoạt động quản lý dữ liệu của họ sẽ nhanh hơn và dễ dàng hơn. Một số MySQL GUI phổ biến nhất là MySQL WorkBench, SequelPro, DBVisualizer và Công cụ quản trị Navicat DB. Một số trong số chúng là miễn phí, trong khi một số là thương mại, một số chạy riêng cho macOS và một số tương thích với các hệ điều hành chính. Khách hàng nên chọn GUI tùy thuộc vào nhu cầu của họ. Đối với quản lý cơ sở dữ liệu web, bao gồm cả trang WordPress, cách tốt nhất là phpMyAdmin.

Đọc thêm: WordPress là gì?

MySQL Client

Đối với MySQL Client không cần cài đặt MySQL. Mọi phần mềm đều có thể truy vấn lên MySQL server và nhận kết quả trả về. MySQL Client điển hình là đoạn mã PHP script trên cùng server dùng để kết nối tới cơ sở dữ liệu MySQL database.

MySQL Server

MySQL Server là máy tính hay là một hệ các máy tính có cài đặt phần mềm MySQL dành cho Server giúp lưu trữ dữ liệu và để Client có thể truy cập và quản lý dữ liệu. Các bảng sẽ chứa dữ liệu và các bảng này có mối liên hệ lẫn nhau. Phần mềm MySQL Server miễn phí, được phát triển bởi công ty Oracle.

Xem thêm: Cách kết nối MySQL với PHP chi tiết

Ưu điểm và nhược điểm của MySQL là gì?

Ưu điểm MySQL

  • An toàn: Vì MySQL sở hữu nhiều tính năng bảo mật cấp cao, mã hóa thông tin đăng nhập và chứng thực từ host đều khả dụng.
  • Dễ sử dụng: MySQL ổn định và dễ sử dụng trên nhiều hệ điều hành và cung cấp một hệ thống các hàm tiện ích lớn.
  • Khả năng mở rộng: Với MySQL có thể xử lý rất nhiều dữ liệu và hơn thế nữa có thể mở rộng khi cần thiết.
  • Hiệu năng cao: Hỗ trợ nhiều chức năng SQL được mong chờ từ một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS).

Nhược điểm MySQL

  • Giới hạn: Nó vẫn bị hạn chế về một số chức năng cần thiết.
  • Dung lượng hạn chế: Nếu só bản khi càng lớn thì việc truy xuất dữ liệu sẽ phức tạp và khó khăn hơn. Bạn cần phải áp dụng nhiều thủ thuật để nâng cấp tốc độ truy xuất dữ liệu lên.

SQL và MySQL có giống nhau không?

Đây là một số điểm khác biệt chính giữa SQL và MySQL

  • Trong khi SQL là ngôn ngữ được sử dụng để vận hành các cơ sở dữ liệu quan hệ khác nhau, MySQL lại là cơ sở dữ liệu quan hệ mã nguồn mở đầu tiên vào đầu những năm 90.
  • SQL là một ngôn ngữ truy vấn, trong khi MySQL là một cơ sở dữ liệu quan hệ sử dụng SQL để truy vấn một cơ sở dữ liệu.
  • Bạn có thể sử dụng SQL để truy cập, cập nhật và thao tác dữ liệu được lưu trữ trong cơ sở dữ liệu. Tuy nhiên, MySQL là một cơ sở dữ liệu lưu trữ hiện có trong cơ sở dữ liệu một cách có tổ chức.
  • SQL được sử dụng để viết các truy vấn cho cơ sở dữ liệu, MySQL tạo điều kiện cho việc lưu trữ, sửa đổi và quản lý dữ liệu ở định dạng bảng.
  • SQL không hỗ trợ bất kỳ trình kết nối nào. Trong khi đó, MySQL đi kèm với một công cụ tích hợp – MySQL workbench – để thiết kế và xây dựng cơ sở dữ liệu.
  • SQL tuân theo một định dạng tiêu chuẩn, trong đó cú pháp và lệnh cơ bản được sử dụng cho DBMS và RDBMS vẫn khá giống nhau, trong khi MySQL nhận được các bản cập nhật thường xuyên.
  • SQL hỗ trợ một công cụ lưu trữ duy nhất, nhưng MySQL hỗ trợ nhiều công cụ lưu trữ và cả các công cụ lưu trữ plug-in. Do đó, MySQL linh hoạt hơn.
  • Trong SQL, máy chủ vẫn độc lập với cơ sở dữ liệu, có nghĩa là bạn có thể thực hiện các thao tác khác trên cơ sở dữ liệu trong quá trình backup. Mặt khác, trong MySQL, bạn có thể thực hiện backup dữ liệu bằng cách trích xuất các câu lệnh SQL. Tuy nhiên, không giống như SQL, trong MySQL, máy chủ chặn cơ sở dữ liệu trong quá trình backup dữ liệu, giảm thiểu nguy cơ hỏng dữ liệu khi chuyển từ phiên bản MySQL này sang phiên bản MySQL khác.
  • Về bảo mật dữ liệu, máy chủ SQL an toàn hơn nhiều so với máy chủ MySQL. Trong SQL, các quy trình bên ngoài (như ứng dụng của bên thứ ba) không thể truy cập hoặc thao tác dữ liệu trực tiếp. Trong MySQL, người ta có thể dễ dàng thao tác hoặc sửa đổi các tệp cơ sở dữ liệu trong thời gian chạy bằng cách sử dụng các tệp nhị phân.
  • SQL không phải là một ngôn ngữ mã nguồn mở. Đương nhiên, nếu bạn gặp bất kỳ vấn đề nào, bạn không thể mong đợi sự hỗ trợ của cộng đồng. Thay vào đó, bạn sẽ phải dựa vào sự hỗ trợ của Microsoft SQL Server. Trái ngược với điều này, MySQL là một nền tảng mã nguồn mở, hỗ trợ từ cộng đồng rất mạnh mẽ.
MụcSQLMYSQL
Khái niệmSQL là một ngôn ngữ truy vấn có cấu trúc (Structured Query Language). SQL hỗ trợ trong việc quản lý cơ sở dữ liệu quan hệ (RDBMS).MySQL là một RDBMS để lưu trữ, truy xuất, sửa đổi và quản trị cơ sở dữ liệu bằng cách sử dụng MySQL.
KiểuSQL là một ngôn ngữ truy vấn.MySQL là phần mềm cơ sở dữ liệu và sử dụng ngôn ngữ SQL để truy vấn cơ sở dữ liệu.
Kết nốiĐói với SQL nó không có hỗ trợ kết nối.MySQL cung cấp một công cụ tích hợp được gọi là ‘MySQL workbench’ để thiết kế và phát triển cơ sở dữ liệu.
Mục đíchĐể truy vấn và vận hành hệ thống cơ sở dữ liệu.Cho phép xử lý dữ liệu, lưu trữ, sửa đổi, xóa định dạng bảng.
Sử dụngMã và lệnh SQL được sử dụng trong các hệ thống DBMS RDMS khác nhau bao gồm MYSQL.MySQL được sử dụng làm cơ sở dữ liệu RDBMS.
Cập nhậtLà ngôn ngữ cố định.Cập nhật và nâng cấp thường xuyên.

Một số thuật ngữ thường gặp trong MySQL

  • Database (còn gọi là cơ sở dữ liệu): là một tập hợp có tổ chức của thông tin có cấu trúc hoặc dữ liệu, thường được lưu trữ dưới dạng điện tử trong một hệ thống máy tính. Cơ sở dữ liệu thường được kiểm soát bởi hệ quản trị cơ sở dữ liệu (DBMS). Dữ liệu và DBMS, cùng với các ứng dụng liên kết với nhau được gọi là một hệ thống cơ sở dữ liệu, thường được rút gọn thành database.
  • Open Source: là một thuật ngữ ban đầu dùng để chỉ phần mềm mã nguồn mở (OSS). Phần mềm mã nguồn mở là mã được thiết kế để có thể truy cập công khai và bất kỳ ai cũng có thể xem, sửa đổi và phân phối mã khi họ thấy phù hợp. MySQL cũng là một phần mềm mã nguồn mở.
  • Mô hình Client – Server: là một mô hình nổi tiếng trong mạng máy tính giữa các nhà cung cấp tài nguyên hoặc dịch vụ, được gọi là Server và người yêu cầu dịch vụ được gọi là Client. Trong mô hình Client-Server, khi Client gửi yêu cầu dữ liệu đến Server thông qua internet, Server chấp nhận quy trình được yêu cầu và gửi các gói dữ liệu được yêu cầu trở lại Client. Client không chia sẻ bất kỳ tài nguyên nào của họ. Ví dụ về Mô hình Client-Server là Email, World Wide Web, v.v.

Hướng dẫn cài đặt MySQL

Cài đặt MySQL trên Windows

Tải MySQL Installer

Nếu bạn muốn cài đặt MySQL trên môi trường Windows, sử dụng trình MySQL Installer là cách dễ dàng nhất. MySQL Installer cung cấp cho bạn một trình hướng dẫn dễ sử dụng giúp bạn cài đặt MySQL với các thành phần sau:

  • MySQL Server
  • Tất cả các kết nối có sẵn
  • MySQL Workbench với các mô hình dữ liệu mẫu
  • MySQL Notifier
  • Công cụ cho Excel và Microsoft Visual Studio
  • Cơ sở dữ liệu mẫu MySQL
  • Tài liệu MySQL

Để tải xuống MySQL Installer, hãy truy cập liên kết sau http://dev.mysql.com/downloads/installer/. Có hai tệp trình cài đặt:

  • Nếu bạn đang kết nối internet trong khi cài đặt MySQL, bạn có thể chọn phiên bản cài đặt trực tuyến mysql-installer-web-community- .exe.
  • Trong trường hợp bạn muốn cài đặt MySQL offline, bạn có thể tải xuống tệp mysql-installer-community- .exe.

Cài đặt MySQL thông qua MySQL Installer

Để cài đặt MySQL bằng MySQL Installer, hãy nhấp đúp vào tệp MySQL Installer và làm theo các bước bên dưới:

cai-dat-mysql
cài đặt MySQL bước 1
  • Cài đặt MySQL Bước 1: Cấu hình Windows MySQL Installer
cai-dat-mysql
  • Cài đặt MySQL Bước 2 – Màn hình chào mừng cung cấp một số tùy chọn. Chọn tùy chọn đầu tiên: Install MySQL Producs
cai-dat-mysql
  • Cài đặt MySQL Bước 3 – Tải xuống MySQL Producs mới nhất: MySQL Installer kiểm tra và tải xuống MySQL Producs mới nhất bao gồm MySQL Server, MySQL Workbench, v.v.
cai-dat-mysql
  • Cài đặt MySQL Bước 4: Nhấp vào nút Next để tiếp tục
cai-dat-mysql
  • Cài đặt MySQL Bước 5 – Choosing a Setup Type: có một số kiểu thiết lập. Chọn tùy chọn Full để cài đặt tất cả các sản phẩm và tính năng MySQL.
cai-dat-mysql
  • Cài đặt MySQL Bước 6 – Check Requirements
cai-dat-mysql
  • Cài đặt MySQL Bước 7 – Installation Progress: MySQL Installer tải xuống tất cả các sản phẩm đã chọn. Sẽ mất một lúc, tùy thuộc vào sản phẩm bạn đã chọn và tốc độ kết nối internet của bạn
cai-dat-mysql
  • Cài đặt MySQL Bước 7 – Installation Progress: đang tải Sản phẩm xuống.
cai-dat-mysql
  • Cài đặt MySQL Bước 7 – Installation Progress: Hoàn tất quá trình tải xuống. Nhấp vào nút Next để tiếp tục…
cai-dat-mysql
  • Cài đặt MySQL Bước 8 – Configuration OverView. Nhấp vào nút Next để xác định cấu hình Máy chủ cơ sở dữ liệu MySQL
cai-dat-mysql

Cài đặt MySQL Bước 8.1 – MySQL Server Configuration: chọn Loại cấu hình và cổng MySQL (3306 theo mặc định) và nhấp vào nút Next để tiếp tục.

cai-dat-mysql
  • Cài đặt MySQL Bước 8.1 – MySQL Server Configuration: chọn mật khẩu cho tài khoản gốc.
cai-dat-mysql
  • Cài đặt MySQL Bước 8.1 – MySQL Server Configuration: chọn chi tiết Windows Service bao gồm Tên Windows Service và loại tài khoản, sau đó nhấp vào nút Next để tiếp tục.
cai-dat-mysql
  • Cài đặt MySQL Bước 8.1 – MySQL Server Configuration – Đang tiến hành: Trình cài đặt MySQL đang cấu hình máy chủ cơ sở dữ liệu MySQL. Chờ cho đến khi nó được thực hiện xong và nhấp vào nút Next để tiếp tục.
cai-dat-mysql
  • Cài đặt MySQL Bước 8.1 – MySQL Server Configuration – Xong. Nhấp vào nút Next để tiếp tục.
cai-dat-mysql
  • Cài đặt MySQL Bước 8.2 – Configuration Overview: MySQL Installer cài đặt cơ sở dữ liệu mẫu và mô hình mẫu.
cai-dat-mysql
  • Cài đặt MySQL Bước 9 – Installation Completes: quá trình cài đặt hoàn tất. Nhấp vào nút Finish để đóng trình hướng dẫn cài đặt và khởi chạy MySQL Workbench.

Cài đặt MySQL trên CentOS

Bước 1: Thiết lập Yum reponsitory

Thực thi lệnh sau để bật MySQL yum repository trên CentOS:

sudo apt update

Bước 2: Cài đặt MySQL 8 Community Server

Vì MySQL yum repository có nhiều cấu hình cho nhiều phiên bản MySQL, bạn cần phải tắt tất cả các reponsitory trong mysql repo file:

sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/mysql-community.repo

Và thực hiện lệnh sau để cài đặt MySQL 8:

sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/mysql-community.repo

Bước 3: Khởi động MySQL Service

Sử dụng lệnh này để bắt đầu dịch vụ mysql:

service mysqld start

Bước 4: Hiển thị mật khẩu mặc định cho người dùng root

Khi bạn cài đặt MySQL 8.0, tài khoản người dùng gốc được cấp một mật khẩu tạm thời. Để hiển thị mật khẩu của tài khoản người dùng gốc, bạn sử dụng lệnh sau:

grep "A temporary password" /var/log/mysqld.log

Đây là kết quả:

[Note] A temporary password is generated for root@localhost: hjkygMukj5+t783

* Lưu ý rằng mật khẩu tạm thời của bạn sẽ khác. Bạn sẽ cần mật khẩu này để thay đổi mật khẩu của tài khoản người dùng root.

Bước 5: Cài đặt bảo mật MySQL

Thực thi lệnh mysql_secure_installation để bảo mật máy chủ MySQL:

mysql_secure_installation

Nó sẽ nhắc bạn nhập mật khẩu hiện tại của tài khoản gốc:

Enter password for user root:

Nhập mật khẩu tạm thời ở trên và nhấn Enter. Thông báo sau sẽ hiển thị:

The existing password for the user account root has expired. Please set a new password.

New password:
Re-enter new password:

Bạn sẽ cần nhập mật khẩu mới cho tài khoản root hai lần. Nó sẽ nhắc nhở một số câu hỏi, bạn nên nhập yes (y):

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

Bước 6: Khởi động lại và kích hoạt MySQL Service

Sử dụng lệnh sau để khởi động lại mysql service:

service mysqld restart

và tự động khởi động mysql service khi khởi động hệ thống:

chkconfig mysqld on

Bước 7: Kết nối với MySQL

Sử dụng lệnh này để kết nối với máy chủ MySQL:

mysql -u root -p

Nó sẽ nhắc bạn nhập mật khẩu của người dùng root. Bạn gõ mật khẩu và nhấn Enter:

Nhập mật khẩu:
Nó sẽ hiển thị lệnh mysql

mysql>

Sử dụng SHOW DATABASES để hiển thị tất cả cơ sở dữ liệu trong máy chủ hiện tại:

mysql> show databases;

Đây là kết quả:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.05 sec)

Lời kết

Nếu bạn phát triển trang web hoặc ứng dụng web, thì việc tìm hiểu MySQL là gì là một việc cần thiết. Bởi MySQL là một lựa chọn tốt. MySQL là một thành phần thiết yếu của LAMP stack, bao gồm Linux, Apache, MySQL và PHP.

Hy vọng bài viết này sẽ giúp bạn có thêm nhiều kiến thức bổ ích trong quá trình phát triển trong học tập cũng như trong việc. Vì đây là những khái niệm và kiến thức cơ bản là nền móng tốt nhất để bạn phát triển trong tương lai. Chúc các bạn thành công.

Nếu bạn có thắc mắc hay có vấn đề cần hỗ trợ, bạn có thể liên hệ trực tiếp với Vietnix thông qua các kênh sau:
  • Hotline: 1800 1093 - 07 088 44444
  • Email: support@vietnix.vn
  • Hoặc chat trực tiếp với Vietnix thông qua biểu tượng Livechat ở góc phải màn hình. Đội ngũ chuyên viên của chúng tôi luôn sẵn sàng tư vấn và hỗ trợ bạn 24/7.
Vietnix hiện đang có chương trình khuyến mãi lớn nhất trong năm, giảm giá TRỌN ĐỜI: Đăng ký dùng thử ngay và Vietnix sẽ hoàn tiền 100% nếu quý khách không hài lòng với chất lượng sản phẩm, dịch vụ!
Mình là Bo - admin của Quản Trị Linux. Mình đã có 10 năm làm việc trong mảng System, Network, Security và đã trải nghiệm qua các chứng chỉ như CCNP, CISSP, CISA, đặc biệt là chống tấn công DDoS. Gần đây mình trải nghiệm thêm Digital Marketing và đã hòan thành chứng chỉ CDMP của PersonVUE. Mình rất thích được chia sẻ và hỗ trợ cho mọi người, nhất là các bạn sinh viên. Hãy kết nối với mình nhé!
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments