1. MySQL là gì ? #
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS) được Oracle hỗ trợ dựa trên Ngôn ngữ truy vấn có cấu trúc (SQL). MySQL chạy trên hầu hết tất cả các nền tảng, bao gồm cả Linux , UNIX và Windows. Mặc dù nó có thể được sử dụng trong một loạt các ứng dụng, MySQL thường được liên kết với các ứng dụng web và xuất bản trực tuyến.
MySQL là một thành phần quan trọng của LAMP. LAMP là một nền tảng phát triển web sử dụng Linux làm hệ điều hành, Apache làm máy chủ web, MySQL làm hệ thống quản lý cơ sở dữ liệu quan hệ và PHP làm ngôn ngữ hướng đối tượng. (Đôi khi là Perl hoặc Python).
Ban đầu được hình thành bởi công ty MySQL AB của Thụy Điển, MySQL đã được Sun microsystems mua lại vào năm 2008 và sau đó bởi Oracle khi họ mua Sun vào năm 2010. Các nhà phát triển có thể sử dụng MySQL theo Giấy phép Công cộng GNU ( GPL ), nhưng các doanh nghiệp phải có giấy phép thương mại từ Oracle.
Ngày nay, MySQL là RDBMS đứng sau nhiều trang web hàng đầu trên thế giới và vô số ứng dụng dựa trên web của công ty và người tiêu dùng, bao gồm Facebook, Twitter và YouTube
2. Cách thức hoạt động của MySQL #
MySQL dựa trên mô hình máy khách-máy chủ (client – server). MySQL có sẵn dưới dạng một chương trình riêng biệt để sử dụng trong môi trường mạng máy khách-máy chủ và dưới dạng thư viện có thể được nhúng (hoặc liên kết) vào các ứng dụng riêng biệt.
MySQL hoạt động cùng với một số chương trình tiện ích hỗ trợ quản trị cơ sở dữ liệu MySQL. Các lệnh được gửi đến MySQL Server thông qua các client được cài đặt trên máy tính.
MySQL ban đầu được phát triển để xử lý cơ sở dữ liệu lớn một cách nhanh chóng. Mặc dù MySQL thường chỉ được cài đặt trên một máy, nhưng nó có thể gửi cơ sở dữ liệu đến nhiều vị trí, vì người dùng có thể truy cập thông qua các giao diện máy khách MySQL khác nhau. Các giao diện này gửi các câu lệnh SQL đến server và sau đó hiển thị kết quả.
3. Các tính năng cốt lõi của MySQL #
MySQL cho phép dữ liệu được lưu trữ và truy cập trên nhiều công cụ lưu trữ, bao gồm InnoDB, CSV và NDB. MySQL cũng có khả năng sao chép dữ liệu và phân vùng bảng để có hiệu suất và độ bền tốt hơn. Người dùng MySQL không bắt buộc phải học các lệnh mới; họ có thể truy cập dữ liệu của mình bằng các lệnh SQL tiêu chuẩn.
MySQL được viết bằng C và C ++ và có thể truy cập và có sẵn trên hơn 20 nền tảng, bao gồm Mac, Windows, Linux và Unix. RDBMS hỗ trợ cơ sở dữ liệu lớn với hàng triệu bản ghi và hỗ trợ nhiều loại dữ liệu bao gồm các số nguyên có chữ ký hoặc không dấu 1, 2, 3, 4 và 8 byte dài,… Các loại chuỗi có độ dài cố định và biến đổi cũng được hỗ trợ.
Để bảo mật, MySQL sử dụng một đặc quyền truy cập và hệ thống mật khẩu được mã hóa cho phép xác minh dựa trên máy chủ. Máy khách MySQL có thể kết nối với Máy chủ MySQL bằng một số giao thức, bao gồm cả TCP / IP trên bất kỳ nền tảng nào. MySQL cũng hỗ trợ một số chương trình máy khách và tiện ích, chương trình dòng lệnh và công cụ quản trị như MySQL Workbench.
Các nhánh của MySQL, bao gồm:
Drizzle, một hệ thống quản lý cơ sở dữ liệu nguồn mở nhẹ được phát triển dựa trên MySQL 6.0;
MariaDB, một sự thay thế phổ biến do cộng đồng phát triển cho MySQL sử dụng các lệnh và API của MySQL.
Percona Server với XtraDB, một phiên bản nâng cao của MySQL được biết đến với khả năng mở rộng theo chiều ngang .
4. Khả năng tương thích với các dịch vụ khác #
MySQL được thiết kế để tương thích với các hệ thống khác. Nó hỗ trợ triển khai trong các môi trường ảo hóa, như Amazon RDS cho MySQL, Amazon RDS cho MariaDB và Amazon Aurora cho MySQL. Người dùng có thể chuyển dữ liệu của họ sang cơ sở dữ liệu SQL Server bằng cách sử dụng các công cụ di chuyển cơ sở dữ liệu như Công cụ chuyển đổi lược đồ AWS và Dịch vụ di chuyển cơ sở dữ liệu AWS.