- Cơ sở dữ liệu›
- Amazon RDS›
- Amazon RDS dành cho MySQL
MySQL là gì?
MySQL là gì?
MySQL đóng vai trò là kho lưu trữ dữ liệu quan hệ chính của nhiều trang web, ứng dụng và sản phẩm thương mại phổ biến. Với hơn 25 năm phát triển và hỗ trợ dựa vào cộng đồng, MySQL là hệ thống quản lý cơ sở dữ liệu sử dụng ngôn ngữ truy vấn có cấu trúc (SQL) đáng tin cậy, ổn định và an toàn.
Cơ sở dữ liệu MySQL phù hợp với nhiều trường hợp sử dụng khác nhau, bao gồm ứng dụng quan trọng đối với doanh nghiệp và trang web động. MySQL cũng là công cụ SQL phổ biến cho các ứng dụng hiện đại, nhờ sự đơn giản và độ tin cậy của công cụ này. Nhà phát triển ứng dụng có được một công cụ với giao diện máy khách-máy chủ đơn giản và tốc độ làm quen nhanh hơn, còn các tổ chức tiết kiệm được chi phí đào tạo.
AWS hỗ trợ MySQL theo nhiều cách khác nhau, bao gồm dịch vụ cơ sở dữ liệu được quản lý hoàn toàn, Amazon Relational Database Service (RDS) dành cho MySQL. Phiên bản Amazon Aurora tương thích với MySQL cũng được xây dựng bằng MySQL và Amazon RDS hỗ trợ dự án phân nhánh MySQL phổ biến là MariaDB.
Bạn cũng có thể lưu trữ phần mềm MySQL trên Amazon EC2 và tự quản lý cơ sở dữ liệu hoặc duyệt xem các dịch vụ MySQL của bên thứ ba trên AWS Marketplace.
Lịch sử của MySQL
Phiên bản đầu tiên của Máy chủ MySQL được phát hành vào năm 1995 bởi công ty Thụy Điển MySQL AB, thành lập bởi David Axmark, Allan Larsson và Michael Widenius. MySQL được đặt theo tên con gái của Widenius, là My. Dự án MySQL được phát hành dưới dạng mã nguồn mở vào năm 2000, theo Giấy phép công cộng GNU (GPL).
Đến năm 2001, MySQL đã đạt hơn 2 triệu lượt cài đặt hoạt động; đến năm 2004, phần mềm đã được tải xuống hơn 30.000 lần một ngày. MySQL được Sun Microsystems mua lại vào năm 2008 và khi Oracle mua lại Sun vào năm 2009, công ty này cũng nắm quyền sở hữu MySQL.
Lợi ích của việc sử dụng cơ sở dữ liệu MySQL
Dễ sử dụng
Cơ sở dữ liệu MySQL đã được các nhà phát triển web ưa chuộng do dễ sử dụng và các tính năng giúp đạt hiệu suất cao, bao gồm trình kích hoạt, thủ tục được lưu trữ và chế độ xem có thể cập nhật. MySQL bao gồm các tiện ích như mysqldump, chương trình sao lưu; mysqladmin, ứng dụng khách quản trị; và MySQL Workbench, GUI để quản lý và di chuyển công việc.
Hiệu năng
Theo thời gian, MySQL đã tăng cường hiệu năng của mình bằng nhiều tính năng, trong đó có bảng đĩa B-tree với khả năng nén chỉ mục, phân bổ bộ nhớ dựa trên luồng và kết nối vòng lặp lồng nhau được tối ưu hóa. Tính năng khóa cấp hàng và đọc nhất quán trong công cụ lưu trữ mang lại cho MySQL thêm nhiều lợi ích trong hiệu năng cho việc sử dụng đồng thời của nhiều người dùng. MySQL tuân theo và khuyến khích các phương pháp thiết kế giúp tăng tốc hiệu năng bằng cách cung cấp chức năng cốt lõi bằng bộ tính năng tối thiểu.
Độ tin cậy và bảo mật
Công cụ lưu trữ giao dịch InnoDB của MySQL tuân thủ mô hình ACID, với nhiều khả năng bổ sung giúp tăng cường mức độ bảo vệ dữ liệu, trong đó có tính năng khôi phục về một thời điểm xác định và tự động thực hiện. InnoDB cũng đảm bảo thêm tính toàn vẹn cho dữ liệu thông qua hỗ trợ ràng buộc khóa ngoại, ngăn chặn sự thiếu nhất quán trong dữ liệu giữa các bảng.
MySQL bao gồm nhiều tính năng bảo mật cứng và linh hoạt, trong đó có xác minh dựa trên máy chủ lưu trữ và mã hóa lưu lượng mật khẩu. InnoDB cung cấp thêm nhiều lợi ích bảo mật, với tính năng mã hóa không gian bảng dữ liệu đang được lưu trữ sử dụng kiến trúc khóa mã hóa hai tầng.
Giấy phép mã nguồn mở
MySQL có sẵn dưới dạng giấy phép mã nguồn mở (Giấy phép công cộng GNU) cho phép bạn tự do sử dụng và sửa đổi mã nguồn khi cài đặt MySQL. Các phiên bản được quản lý của MySQL, như Amazon RDS dành cho MySQL, không tốn thêm chi phí cấp phép cho công cụ MySQL, khác với các công cụ SQL độc quyền.
Cộng đồng người đóng góp và đam mê lớn trên toàn cầu của MySQL mang lại thêm nhiều lợi ích lâu dài cho việc sử dụng hệ thống cơ sở dữ liệu này. Ví dụ: cộng đồng MySQL luôn cập nhật các vấn đề bảo mật và sửa lỗi, góp phần vào khả năng phục hồi tổng thể của phần mềm. Các nhóm người dùng, sự kiện, diễn đàn và danh sách gửi thư của MySQL cung cấp mạng lưới tích hợp cho công tác giáo dục và hỗ trợ.
Các trường hợp sử dụng phổ biến của MySQL
Cơ sở dữ liệu OLTP đa dụng
MySQL phù hợp với bất kỳ ứng dụng nào yêu cầu công cụ SQL giao dịch, bao gồm quan trọng đối với doanh nghiệp và trang web có lưu lượng truy cập lớn. MySQL tuân thủ các nguyên tắc ACID và bao gồm các phần mở rộng cho ANSI/ISO Standard SQL, cũng như hỗ trợ XML và JSON.
MySQL cũng hỗ trợ phân cụm cơ sở dữ liệu có độ sẵn sàng cao và có khả năng xử lý các cơ sở dữ liệu có kích thước tính theo petabyte. Các ứng dụng phổ biến sử dụng cơ sở dữ liệu MySQL bao gồm TYPO3, MoDx, Joomla, WordPress, phpBB, MyBB và Drupal.
Ứng dụng thương mại điện tử
MySQL là một trong những công cụ giao dịch phổ biến nhất cho các nền tảng thương mại điện tử. MySQL đặc biệt hữu ích để quản lý tất cả các loại dữ liệu cho khách hàng, giao dịch và danh mục sản phẩm.
Trong các giải pháp thương mại điện tử, MySQL thường được sử dụng kết hợp với các cơ sở dữ liệu phi quan hệ khác, bao gồm các tài liệu và kho lưu trữ khoá-giá trị để đồng bộ hóa dữ liệu đơn hàng và lưu trữ dữ liệu phi sản phẩm.
Bộ LAMP mã nguồn mở
MySQL là hệ thống không thể thiếu trong vô số ứng dụng chạy trên bộ phần mềm LAMP mã nguồn mở (LAMP là chữ viết tắt của Linux, Apache, MySQL và PHP/Python/Perl). LAMP là bộ giải pháp dịch vụ web phổ biến và được xem là lựa chọn nền tảng hàng đầu cho trang web động và ứng dụng web hiệu năng cao.
Dự án phân nhánh phần mềm MySQL
MariaDB
MariaDB là một nhánh phổ biến của MySQL từ MariaDB, được thành lập bởi các nhà phát triển ban đầu của MySQL, những người dự định nó vẫn là nền tảng mã nguồn mở và miễn phí theo GNU GPL. Tuy được duy trì tách biệt với MySQL, MariaDB vẫn giữ được mức độ tương thích cao với MySQL, bao gồm tương đương nhị phân thư viện, khớp chính xác với giao diện lập trình ứng dụng (API) và nhiều công cụ quản lý khác nhau. AWS hỗ trợ MariaDB bằng dịch vụ cơ sở dữ liệu được quản lý hoàn toàn, đó là Amazon RDS dành cho MariaDB.
Máy chủ Percona
Máy chủ Percona là một nhánh phổ biến khác của MySQL từ Percona. Máy chủ Percona bao gồm XtraDB, nhánh của Percona của Công cụ lưu trữ InnoDB.
Hỗ trợ ngôn ngữ để phát triển ứng dụng
MySQL dẫn đầu về hỗ trợ ngôn ngữ SQL. MySQL cũng hỗ trợ hầu hết các ngôn ngữ và giao thức lập trình hàng đầu, cho phép người dùng sử dụng: Python, Java, Perl, Node.js, .NET, PHP, Ruby, Erlang, C/C++, TCL, ODBC và Objective-C.
MySQL so với PostgreSQL
MySQL và PostgreSQL đều là cơ sở dữ liệu quan hệ mã nguồn mở phổ biến. Sự phổ biến của MySQL đến từ việc MySQL được coi là dễ sử dụng và nhanh chóng, còn PostgreSQL được đánh giá là giàu tính năng và gần giống với các phiên bản cơ sở dữ liệu có giấy phép thương mại như Oracle. Tuy nhiên, các phiên bản chính hiện tại của MySQL và PostgreSQL đều cung cấp nhiều tính năng mạnh mẽ và khả năng hỗ trợ hiệu năng truy vấn, độ tin cậy, bảo mật, và nhiều khía cạnh khác. Bạn có thể tìm hiểu thêm về PostgreSQL và dùng thử Amazon Aurora PostgreSQL hoặc Amazon RDS dành cho PostgreSQL bằng cách sử dụng Bậc miễn phí của AWS.
Tùy chọn lưu trữ MySQL trên AWS
MySQL tự quản lý trên Amazon EC2
Trước đây, các cơ sở dữ liệu quan hệ được triển khai tại chỗ và khi khối lượng công việc của cơ sở dữ liệu chuyển sang đám mây, các tổ chức ban đầu đã sử dụng Amazon EC2 để chạy cơ sở dữ liệu của riêng họ. Với cách tiếp cận này, bạn là người quản lý tất cả các tác vụ quản trị thông thường đi kèm với cơ sở dữ liệu tại chỗ như cung cấp phần cứng, thiết lập cơ sở dữ liệu, điều chỉnh, vá lỗi, sao lưu và khả năng điều chỉnh quy mô MySQL.
MySQL được quản lý hoàn toàn trên Amazon RDS
Amazon Relational Database Service (Amazon RDS) là dịch vụ cơ sở dữ liệu quan hệ dễ quản lý được tối ưu hóa cho tổng chi phí sở hữu. Việc thiết lập, vận hành và điều chỉnh quy mô theo nhu cầu rất đơn giản. RDS có khả năng tự động hóa các tác vụ quản lý cơ sở dữ liệu không phân biệt, chẳng hạn như cung cấp, định cấu hình, sao lưu và vá lỗi.
RDS cho phép bạn tạo cơ sở dữ liệu mới chỉ trong vài phút và đem đến sự linh hoạt trong việc tùy chỉnh cơ sở dữ liệu để đáp ứng nhu cầu của mình. Bạn có thể tối ưu hóa hiệu năng bằng các tính năng như hai phiên bản chế độ chờ chỉ đọc, phiên bản ghi và đọc được tối ưu hóa và phiên bản dựa trên AWS Graviton4, đồng thời có thể lựa chọn từ nhiều tùy chọn định giá để quản lý chi phí một cách hiệu quả.
Hiện đại hóa với Phiên bản Amazon Aurora tương thích với MySQL
Amazon Aurora cung cấp hiệu năng cao chưa từng có và độ sẵn sàng ở quy mô toàn cầu cho MySQL. Aurora có thông lượng gấp 5 lần MySQL với khả năng tương thích hoàn toàn. Aurora cung cấp một loạt các tiêu chuẩn tuân thủ và khả năng bảo mật cho doanh nghiệp, đồng thời hỗ trợ các ứng dụng phân tán trên toàn cầu.
Bắt đầu sử dụng Amazon RDS dành cho MySQL rất đơn giản
1
Đăng ký Amazon RDS
Nhận quyền truy cập vào Bậc miễn phí của Amazon RDS.
2
Tìm hiểu qua hướng dẫn từng bước đơn giản
Khám phá cách tạo và kết nối với cơ sở dữ liệu MySQL bằng RDS.
3
Bắt đầu xây dựng với Amazon RDS
Bắt đầu xây dựng bằng cách tham khảo hướng dẫn sử dụng MySQL trên Amazon RDS.
Quy trình di chuyển cơ sở dữ liệu MySQL
Phương pháp di chuyển cơ sở dữ liệu MySQL gốc và của bên thứ ba
Dịch vụ kết xuất và sao chép SQL
Phương pháp gốc thực tế nhất để di chuyển hệ thống quản lý cơ sở dữ liệu quan hệ MySQL là thực hiện kết xuất SQL rồi tiến hành các hoạt động sao chép để đảm bảo các cơ sở dữ liệu được đồng bộ hóa. mysqldump của MySQL là tiện ích sao lưu tích hợp, đóng vai trò là nền tảng cho việc di chuyển cơ sở dữ liệu máy chủ MySQL. Mysqldump sẽ kết xuất toàn bộ cơ sở dữ liệu bằng một tệp kết xuất và cung cấp tập hợp câu lệnh SQL để tái tạo cơ sở dữ liệu. Phương pháp này hữu ích đối với cơ sở dữ liệu có kích thước dưới 10 GB, khi bạn có kết nối mạng Internet tốc độ cao và ổn định cũng như khi thời gian di chuyển dữ liệu không quan trọng.
Percona XtraBackup và Amazon S3
Bằng cách chuyển các tệp và nội dung sao lưu Percona Xtra vào Amazon S3 trước, bạn sẽ có thể di chuyển các máy chủ cơ sở dữ liệu theo kiểu 1-1 từ cơ sở dữ liệu nguồn sang cụm Amazon RDS dành cho MySQL hoặc Aurora DB mới. Việc sử dụng quy trình chuyển đổi di chuyển dữ liệu này để nạp dữ liệu có thể sẽ nhanh hơn đáng kể so với sử dụng mysqldump.
Cơ sở dữ liệu INFORMATION_SCHEMA
Bạn có thể sử dụng cơ sở dữ liệu INFORMATION_SCHEMA tích hợp làm trình khám phá siêu dữ liệu MySQL. Bằng cách sử dụng trình khám phá siêu dữ liệu MySQL này kết hợp với Chuyển đổi lược đồ DMS của AWS, bạn có thể xác định xem lược đồ cơ sở dữ liệu nguồn có khớp với lược đồ cơ sở dữ liệu và kiểu dữ liệu đích hay không và xác định nơi khắc phục bất kỳ lỗ hổng nào.
Dịch vụ di chuyển dữ liệu MySQL được quản lý
Dịch vụ di chuyển cơ sở dữ liệu của AWS
Dịch vụ di chuyển cơ sở dữ liệu của AWS (DMS) chuyên phát hiện, đánh giá, chuyển đổi và di chuyển khối lượng công việc của cơ sở dữ liệu MySQL sang AWS, giảm bớt công sức và chỉnh sửa thủ công. Trình hướng dẫn di chuyển AWS DMS cho phép bạn chọn cả cơ sở hạ tầng nguồn và đích, sử dụng sao chép tự động cùng với Ghi nhận thay đổi dữ liệu (CDC) và tạo báo cáo có khả năng đánh giá tự động cũng như đề xuất đối tượng mục tiêu. Bạn sẽ không cần phải chuyển đổi lược đồ hoặc định nghĩa đối tượng khi di chuyển từ MySQL sang MySQL. Hãy tận dụng Dịch vụ khám phá ứng dụng AWS để khám phá bất kỳ quan hệ phụ thuộc nào trong cơ sở dữ liệu máy chủ MySQL của bạn trước khi di chuyển dữ liệu.
Dịch vụ di chuyển ứng dụng AWS
Nếu bạn đang thực hiện di chuyển nguyên trạng đơn giản để di chuyển dữ liệu từ máy chủ MySQL tại chỗ sang EC2, bạn có thể di chuyển toàn bộ máy chủ sang EC2 bằng cách sử dụng Dịch vụ di chuyển ứng dụng AWS. Bạn có thể áp dụng kỹ thuật này cho một cơ sở dữ liệu đơn lẻ hoặc nhiều đối tượng cơ sở dữ liệu.