Chuyển đến nội dung chính

Docker: Setup MariaDB - Part 10.1

Trong bài viết này, mình sẽ setup MariaDB với PHPMyAdmin bằng cách sử dụng Docker Volume và Docker Compose.

Mã nguồn mở (miễn phí thực sự)

Sử dụng MariaDB hay Mysql đều có 2 phiên bản thương mại và cộng đồng, tuy nhiên với MySQL bản thương mại (Entrerprise) và bản cộng đồng (miễn phí) có ngay từ những ngày đầu tiên của dòng sản phẩm này. Đó cũng chính là lý do mà MySQL được mua lại một cách dễ dàng từ năm 2009 bởi Oracle sau khi Sun sụp đổ năm 2008. Hiện tại MySQL được bảo trì và phát triển bằng đội ngũ của Oracle và không chịu nhiều tác động bởi cộng đồng, kể từ phiên bản 5.7, các lịch sử commit cho thấy MySQL được phát triển bởi các thành viên đến từ @oracle, hơn nữa các vấn đề (lỗi, cải thiện hiệu suất,…) đều không đem ra thảo luận giữa cộng đồng một cách rõ ràng, một số module là mã nguồn đóng.

Trái ngược với MySQL, MariaDB hoàn toàn mã nguồn mở được vận hành bởi cộng đồng thực sự (MariaDB Foundation), đứng đằng sau là công ty Monty Program, mặc dù cũng có bản thương mại nhưng không ảnh hưởng đến phiên bản mã nguồn mở.

Nói một cách khác, cộng đồng không có quyền trên MySQL!

MariaDB

MariaDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở (DBMS), thay thế cho MySQL . Nó được tạo ra như một nhánh của MySQL bởi các nhà phát triển. Những người này đóng vai trò quan trọng trong công việc xây dựng gốc cơ sở dữ liệu. Họ đã nghĩ ra MariaDB vào năm 2009 để đáp lại việc mua lại MySQL của Oracle Corp.

MariaDB dựa trên SQL và hỗ trợ xử lý dữ liệu ACID-style. Ngoài ra, cơ sở dữ liệu cũng hỗ trợ các API JSON, sao chép dữ liệu song song và nhiều công cụ lưu trữ, bao gồm InnoDB, MyRocks, Spider, Aria, TokuDB, Cassandra và MariaDB ColumnStore.

Phần lớn công việc là tập trung vào việc đạt được tính năng tương đương giữa MariaDB và MySQL. MariaDB Corp. nói rằng cơ sở dữ liệu tương thích nhị phân với MySQL. Do đó, người dùng có thể chuyển đổi giữa hai công nghệ bằng cách gỡ MySQL và cài đặt MariaDB.

phpMyAdmin

phpMyAdmin là một công cụ phần mềm miễn phí được viết bằng PHP, nhằm xử lý việc quản trị MySQL qua Web. phpMyAdmin hỗ trợ một loạt các hoạt động trên MySQL và MariaDB. Các hoạt động thường được sử dụng (quản lý cơ sở dữ liệu, bảng, cột, quan hệ, chỉ mục, người dùng, quyền, v.v.) có thể được thực hiện thông qua giao diện người dùng, trong khi bạn vẫn có khả năng thực thi trực tiếp bất kỳ câu lệnh SQL nào.

Setup MariaDB

Thay vì phải cài đặt trên máy tính, bạn có thể setup MariaDB trên Docker. Kết hợp thêm Volume để có thể tái sử dụng MariaDB nếu muốn sử dụng các phiên bản mới hơn trong tương lai

version: "3.9"

volumes:
  mariadb:
    driver: local
networks:
  mariadb-network:
    driver: bridge
services:
  maria-db:
    container_name: mariadb_container
    image: mariadb:10.9.3
    restart: unless-stopped
    networks:
      - mariadb-network
    ports:
      - 3307:3306
    volumes:
      - /mnt/d/Practice/Docker/MariaDb/data:/var/lib/mysql
    environment:
      MARIADB_ROOT_PASSWORD: Yourwebsite123
      MYSQL_USER:  sa 
      MYSQL_PASSWORD: YourPassword123456
      MARIADB_DATABASE: test
  phpmyadmin:
    image: phpmyadmin:5.2.0-apache
    container_name: phpadmin_container
    restart: always
    expose:
      - 4001
    ports:
      - 4001:80
    environment:
      - PMA_HOST=maria-db
      - PMA_PORT=3306 
    networks:
      - mariadb-network

Lưu ý: volumes: Nếu bạn không biết nên sử dụng đường dẫn tương đối hay tuyệt đối, thì bạn nên copy đường dẫn trong bash ra.

Cú pháp:

/host/path:/container/path
Host path can be defined as an absolute or as a relative path.

Tham khảo

https://viblo.asia/p/su-dung-mariadb-thay-cho-mysql-tai-sao-oOVlYd0nZ8W


Nhận xét

  1. https://www.section.io/engineering-education/docker-wordpress-containerizing-wordpress-with-docker-compose/

    Trả lờiXóa

Đăng nhận xét

Bài đăng phổ biến từ blog này

[ASP.NET MVC] Authentication và Authorize

Một trong những vấn đề bảo mật cơ bản nhất là đảm bảo những người dùng hợp lệ truy cập vào hệ thống. ASP.NET đưa ra 2 khái niệm: Authentication và Authorize Authentication xác nhận bạn là ai. Ví dụ: Bạn có thể đăng nhập vào hệ thống bằng username và password hoặc bằng ssh. Authorization xác nhận những gì bạn có thể làm. Ví dụ: Bạn được phép truy cập vào website, đăng thông tin lên diễn đàn nhưng bạn không được phép truy cập vào trang mod và admin.

ASP.NET MVC: Cơ bản về Validation

Validation (chứng thực) là một tính năng quan trọng trong ASP.NET MVC và được phát triển trong một thời gian dài. Validation vắng mặt trong phiên bản đầu tiên của asp.net mvc và thật khó để tích hợp 1 framework validation của một bên thứ 3 vì không có khả năng mở rộng. ASP.NET MVC2 đã hỗ trợ framework validation do Microsoft phát triển, tên là Data Annotations. Và trong phiên bản 3, framework validation đã hỗ trợ tốt hơn việc xác thực phía máy khách, và đây là một xu hướng của việc phát triển ứng dụng web ngày nay.

Tổng hợp một số kiến thức lập trình về Amibroker

Giới thiệu về Amibroker Amibroker theo developer Tomasz Janeczko được xây dựng dựa trên ngôn ngữ C. Vì vậy bộ code Amibroker Formula Language sử dụng có syntax khá tương đồng với C, ví dụ như câu lệnh #include để import hay cách gói các object, hàm trong các block {} và kết thúc câu lệnh bằng dấu “;”. AFL trong Amibroker là ngôn ngữ xử lý mảng (an array processing language). Nó hoạt động dựa trên các mảng (các dòng/vector) số liệu, khá giống với cách hoạt động của spreadsheet trên excel.