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ự)
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
https://www.section.io/engineering-education/docker-wordpress-containerizing-wordpress-with-docker-compose/
Trả lờiXóa