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


82

Sự khác biệt giữa MariaDB và MySQL là gì? Tôi không quen thuộc lắm với cả hai. Tôi chủ yếu là một nhà phát triển front end cho hầu hết các phần.

Chúng có giống nhau về mặt cú pháp không? Trường hợp hai ngôn ngữ truy vấn này khác nhau?

Wikipedia chỉ đề cập đến sự khác biệt giữa cấp phép:

MariaDB là một nhánh phát triển cộng đồng của cơ sở dữ liệu MySQL, động lực là sự duy trì cộng đồng về trạng thái miễn phí của nó theo GPL, trái với bất kỳ sự không chắc chắn nào về tình trạng giấy phép MySQL thuộc quyền sở hữu hiện tại của Oracle.


Điều này có thể hữu ích: hackr.io/blog/mariadb-vs-mysql
Saurabh Hooda

Câu trả lời:


95

MariaDB là một thay thế nhị phân thả xuống tương thích ngược của MySQL . Điều này có nghĩa là:

  • Các tệp định nghĩa dữ liệu và bảng (.frm) tương thích nhị phân.
  • Tất cả các API khách, giao thức và cấu trúc là giống hệt nhau.
  • Tất cả tên tệp, nhị phân, đường dẫn, cổng, ổ cắm, v.v ... phải giống nhau.
  • Tất cả các trình kết nối MySQL hoạt động không thay đổi với MariaDB.
  • Gói mysql-client cũng hoạt động với máy chủ MariaDB.

Trong hầu hết các kịch bản thực tế phổ biến, MariaDB phiên bản 5.xy sẽ hoạt động chính xác như MySQL 5.xy, MariaDB theo phiên bản của MySQL, tức là số phiên bản của nó được sử dụng để cho biết phiên bản MySQL nào tương thích.

MariaDB có nguồn gốc là một nhánh của MySQL bởi Michael "Monty" Widenius, một trong những nhà phát triển ban đầu của MySQL và đồng sáng lập của MySQL Ab. Các MariaDB Foundation đóng vai trò như những người giám hộ của MariaDB.

Động lực chính đằng sau MariaDB là cung cấp một phiên bản xỉa của MySQL, trong trường hợp Oracle hợp tác với MySQL. Điều đáng chú ý là Monty đã lên tiếng chống lại việc mua lại MySQL (thông qua việc mua lại của Sun) bởi Oracle.

Mặc dù MariaDB được cho là tương thích với MySQL, vì lý do này hay lý do khác, có khá nhiều vấn đề tương thíchcác tính năng khác nhau :

  • MariaDB bao gồm tất cả các công cụ nguồn mở phổ biến,
  • MariaDB tuyên bố một số cải tiến tốc độ trên MySQL và
  • có một vài phần mở rộng xỉa mới mà MySQL thiếu

    Cuối cùng, tên này xuất phát từ con gái của Monty Maria (người còn lại là My), vì MySQL hiện là nhãn hiệu đã đăng ký của Tập đoàn Oracle.


1
Cảm ơn bạn đã giải thích rất toàn diện. Chính xác những gì tôi đang tìm kiếm.
chrisjlee

5
MariaDB rõ ràng không phải là SQL-99 hoàn chỉnh, như từ chối trên chính trang mà câu trả lời này liên kết đến. Ví dụ: nó hoàn toàn không hỗ trợ các xác nhận và CTE chưa biến nó thành một bản phát hành ổn định. Câu chuyện rất giống với MySQL.
Không khí

Tôi tin rằng các liên kết đến montyprogram dot com đã bị mục nát, nhưng tôi không biết nơi mà các liên kết này có thể được tìm thấy trực tuyến.
Hay

MariaDB hỗ trợ InnoDB phải không? Tại sao nó lại được viết như vậy?
Paulson Peter

1
@PaulsonPeter Có, MariaDB hỗ trợ InnoDB. Không chắc chắn câu hỏi thứ hai của bạn là gì.
yannis

15

Đó là một ngã ba - hai dự án riêng biệt bắt đầu từ cùng một cơ sở mã gốc nhưng di chuyển theo các hướng riêng biệt. Điều này đã xảy ra khá thường xuyên với các dự án nguồn mở nơi Oracle đã mua các công ty tài trợ.

Theo hiểu biết của tôi MariaDB được duy trì và tăng cường bởi các nhà phát triển MySQL gốc và MySQL được duy trì và nâng cao bởi Oracle. Nó phụ thuộc vào người bạn muốn làm công việc đó.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.