Hướng dẫn mysql source code explained

MySQL là gì?

MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là RDBMS) hoạt động theo mô hình client-server. Với RDBMS là viết tắt của Relational Database Management System. MySQL được tích hợp apache, PHPMySQL quản lý dữ liệu thông qua các cơ sở dữ liệu. Mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu. MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL. MySQL được phát hành từ thập niên 90s. Vậy lịch sử hình thành và phát triển của MySQL là gì?

Hướng dẫn mysql source code explained
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở

Lịch sử hình thành và phát triển của MySQL

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

  • Công ty Thuy Điển MySQL AB phát triển MySQL vào năm 1994.
  • Phiên bản đầu tiên của MySQL phát hành năm 1995
  • Công ty Sun Microsystems mua lại MySQL AB trong năm 2008
  • Năm 2010 tập đoàn Oracle thâu tóm Sun Microsystems. Ngay lúc đó, đội ngũ phát triển của MySQL tách MySQL ra thành 1 nhánh riêng gọi là MariaDB. Oracle tiếp tục phát triển MySQL lên phiên bản 5.5.
  • 2013 MySQL phát hành phiên bản 5.6
  • 2015 MySQL phát hành phiên bản 5.7
  • MySQL đang được phát triển lên phiên bản 8.0

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

Hướng dẫn mysql source code explained
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ rất phổ biến hiện nay

Ưu điểm và nhược điểm của MySQL

MySQL có khá nhiều những ưu điểm riêng. Tuy nhiên, song song với đó, nó vẫn còn tồn tại một số những nhược điểm. Hãy cùng tìm hiểu chi tiết về ưu nhược điểm của MySQL

Ưu điểm của MySQL là gì?

Hướng dẫn mysql source code explained
Nắm được ưu điểm để khai thác sử dụng một cách tối ưu
  • Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
  • Độ bảo mật cao:  MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao.
  • Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp.
  • Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thế nữa nó có thể được mở rộng nếu cần thiết.
  • Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi.

Nhược điểm của MySQL là gì?

Hướng dẫn mysql source code explained
MySQL cũng vướng phải một số nhược điểm và đang dần hoàn thiện
  • Giới hạn: Theo thiết kế, MySQL không có ý định làm tất cả và nó đi kèm với các hạn chế về chức năng mà một vào ứng dụng có thể cần.
  • Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài liệu tham khảo, các giao dịch, kiểm toán,…) làm cho nó kém tin cậy hơn so với một số hệ quản trị cơ sở dữ liệu quan hệ khác.
  • Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy xuất dữ liệu của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều server, hoặc tạo cache MySQL
Hướng dẫn mysql source code explained

Phân biệt MySQL và SQL Server

Trước khi điểm qua một số sự khác biệt giữa MySQL và SQL Server. Hãy cùng tìm hiểu chi tiết về khái niệm SQL Server:

SQL Server là gì?

Hướng dẫn mysql source code explained
SQL Server được hỗ trợ bởi tập đoàn công nghệ lớn Microsoft

Được biết đến với tên gọi khác là Microsoft SQL Server, SQL Server được Microsoft phát triển từ giữa thập niên 80s nhằm cung cấp giải pháp đáng tin cậy và mở rộng. Điều này trở thành đặc tính đáng giá của SQL Server. Điểm mạnh của SQL Server là Microsoft có khá nhiền nền tảng kết hợp hoàn hảo với SQL Server như ASP.NET, C# xây dựng Winform.

Sự khác biệt giữa MySQL và SQL Server là gì?

Hướng dẫn mysql source code explained
Có một số tiêu chí cơ bản để phân biệt được MySQL và SQL Server
Tiêu chí MySQL SQL Server
Môi trường MySQL có thể kết hợp với mọi ngôn ngữ lập trình khác, thông thường là PHP SQL Server hoạt động tốt với .NET
Syntax
  • MySQL

·         SELECT age

·         FROM person

·         ORDER BY age ASC

LIMIT 1 OFFSET 2

  • Microsoft SQL Server

·         SELECT TOP 3 WITH TIES *

·         FROM person

ORDER BY age ASC

Bản chất Là một phần mềm mã nguồn mở, chạy trên hơn 20 nền tảng bao gồm Linux, Windows, OS / X, HP-UX, AIX, Netware. Là một phần mềm độc quyền được Microsoft đã xây dựng nhiều công cụ mạnh mẽ cho SQL Server, bao gồm các công cụ phân tích dữ liệu.
Storage engines Nhiều loại engines được tạo ra cho MySQL. Điều này giúp lập trình viên MySQL linh hoạt dùng nhiều storage engine khác nhau cho bảng. SQL server sử dụng một storage engine riêng được phát triển bởi Microsoft
Hủy Query MySQL không cho phép bạn hủy query giữa chừng SQL Server lại cho phép bạn hủy query giữa chừng
Bảo mật Các chuyên gia về cơ sở dữ liệu giúp MySQL có tính năng bảo mật đặc biệt để dữ liệu được bảo mật tuyệt đối. Công cụ bảo mật riêng – Microsoft Baseline Security Analyzer giúp tăng tính bảo mật cho SQL Server một cách triệt để
Chi phí Miễn phí Trả phí
IDEs Dùng Enterprise Manager của Oracle Dùng Management Studio (SSMS)

Tại sao nên dùng MySQL?

Hướng dẫn mysql source code explained
MySQL có vai trò quan trọng việc lập trình cơ sở dữ liệu

Vì sao khi mua hosting, bạn nhận ra rất nhiều “ông lớn công nghệ” như cPanel, DirectAdmin hay WordPress phụ thuộc vào MySQL? Dưới đây là những lí do quan trọng nhất.

  • MySQL là CSDL có tốc độ khá cao, ổn định và khá dễ sử dụng có thể hoạt động được trên khá nhiều hệ điều hành.
  • Tính bảo mật mạnh và sử dụng được trên nhiều ứng dụng mà MySQL còn hoàn toàn được sử dụng miễn phí.
  • MySQL không chỉ dừng lại ở bổ trợ cho PHPPerl, mà nó còn bổ trợ cho nhiều ngôn ngữ khác, Nó là nơi để lưu trữ thông tin trên các trang web được viết bằng Perl hoặc PHP.

Thuật ngữ thường gặp của MySQL

Khái niệm MySQL tồn tại khá nhiều những thuật ngữ. Hãy cùng Mắt Bão tìm hiểu sơ qua về một số thuật ngữ cơ bản sau:

  • MySQL – Database
  • Open source
  • Mô hình Client-server
  • MySQL Server
  • MySQL Client
Hướng dẫn mysql source code explained
Các thuật ngữ thưởng gặp khi nói về MySQL là gì?

Thuật ngữ MySQL – Database là gì?

Database là tập hợp dữ liệu theo cùng một cấu trúc được đặt trong một bộ dữ liệu chung dataset. Database được tổ chức sắp xếp giống như một bảng tính có sự liên kết chặt chẽ với nhau.

Open source

Được hiểu là mã nguồn mở, Open source cho phép mọi người dùng sử dụng, cài đặt và tùy chỉnh nó. Bạn nên tham khảo thêm về “Source Code là gì?” Để có hiểu hơn về mã nguồn mở (Open Source).

Mô hình Client-server

Hướng dẫn mysql source code explained
MySQL Client-server là mô hình chạy phần mềm RDBMS

Máy tính cài đặt và chạy phần mềm RDBMS được gọi là client (máy khách). Mỗi khi chúng cần truy cập dữ liệu, chúng kết nối tới máy chủ (server) RDBMS. Cách thức này chính là mô hình client-server.

MySQL Server là gì?

MySQL Server là gì? Đây là máy tính hay một hệ các máy tính cài đặt phần mềm MySQL dành cho server để giúp bạn lưu trữ dữ liệu trên đó để máy khách có thể truy cập vào quản lý.

MySQL Client là gì?

MYSQL Client là tên gọi chung của mọi phần mềm có thể thực hiện truy vấn MySQL server và nhận kết quả trả về. Hay nói cách khác, MySQL Client là đoạn mã PHP script trên một máy tính hay trên cùng server dùng để kết nối tới MySQL database

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

Hướng dẫn mysql source code explained
Cách MySQL vận hành là khá đơn giản

Cách vận hành chính trong môi trường MySQL như sau:

  • MySQL tạo ra bảng để lưu trữ dữ liệu, định nghĩa sự liên quan giữa các bảng đó.
  • Client sẽ gửi yêu cầu SQL bằng một lệnh đặc biệt trên MySQL.
  • Ứng dụng trên server sẽ phản hồi thông tin và trả về kết quả trên máy client.

Hướng dẫn cài đặt MySQL Server trên Windows

Hướng dẫn mysql source code explained
Cài đặt MySQL Server trên Windows không khó

Bạn nên lựa chọn hệ điều hành Windows khi thuê máy chủ, bởi trên Windows, Server của bạn sẽ được tối ưu tốt nhất. Đối với Windows Server 2012Windows Server 2016 bạn nên xem thêm bài viết “Hướng dẫn cài đặt MySQL 5.7” để được hướng dẫn cụ thể hơn.

Bước 1: Tải MySQL

Sau khi tải MySQL Cummunity (bản miễn phí) về bạn sẽ có đủ 3 file như sau:

  • Microsoft .NET Framework 4 Client Profile
  • Visual C++ Redistributable for Visual Studio 2013
  • MySQL

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

Đầu tiên bạn cần cài đặt Microsoft .NET Framework 4 Client Profile, Visual C++ Redistributable for Visual Studio 2013 trước sau đó cài đặt đến file MySQL.

Các bước cài đặt MySQL Server như sau:

  • Mở file cài đặt —> Accept —> Next
  • Chọn Full để cài đặt tất cả, bao gồm cả Database —> Next
  • Ở bước này bạn sẽ thấy tất cả các gói được cài đặt. Chọn Execute Chọn Next
  • Tiếp theo chúng ta sẽ đến phần cấu hình cho MySQL Server. Chọn Next
  • Lựa chọn
    • Config Type: Development Machine
    • Connectivity: Click chọn TCP/IP —> Open Firewall
  • Sau đó click Next
  • Tại Accounts and Roles bạn điền mật khẩu của mình vào, sau đó chọn Next
  • Mặc định User là root, bạn điền mật khẩu đã thiết lập bên trên vào để check và kết nối với MySQL server.
  • Chờ đợi hoàn tất, chọn Finish.

Cách cài đặt MySQL cho Server/VPS bất kỳ

Hiển nhiên, sẽ có nhiều hệ điều hành cho server/vps khác ngoài Windows. Dưới đây sẽ hướng dẫn bạn cài đặt MySQL trên CentOS, và phần mềm tích hợp sẵn MySQL XAMPP.

Cài đặt MySQL cho CentOS

Để tiến hành cài đặt MySQL trên các server này yêu cầu bạn có trình độ chuyên môn sâu. Công việc cài đặt của bạn sẽ bao gồm:

  • Cài đặt Apache2
  • Cài đặt MySQL
  • Cài đặt, kiểm tra PHP và MySQL hỗ trợ cho PHP

Bạn nên tham khảo bài viết: “Cài đặt Apache2 – MySQL – PHP cho CentOS 7” để có hướng dẫn chi tiết cài đặt MySQL lên CentOS.

Cài đặt LAMP/XAMPP đã tích hợp sẵn MySQL

Xampp là chương trình tạo máy chủ Web được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như phpMyAdmin. Nó phân bố Apache nhẹ và đơn giản, khiến các lập trình viên có thể dễ dàng tạo ra máy chủ web local để kiểm tra và triển khai trang web của mình. Không như Appserv, Xampp có chương trình quản lý khá tiện lợi, cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào.

Để tham khảo về cách cài đặt XAMPP cho máy tính của bạn, bạn nên tham khảo bài viết: “Localhost là gì? Cài đặt localhost bằng XAMPP, AppServ cực dễ“.