Cách cài đặt MySQL 8.0 bằng Docker Compose - choi game ban ca

/imgposts/9k3rwsyj.jpg

Trước tiên, bạn cần cài đặt Docker trên hệ thống của mình. Hướng dẫn chi tiết có thể tham khảo tài liệu cài đặt Docker cho Ubuntu tu vi ngay Server 24.04 LTS.

Tiếp theo, hãy tạo một thư mục mới và trong đó tạo tệp tin docker-compose.yaml với nội dung như sau:

dịch vụ:
 mysql:
  hình_ảnh: mysql:8.0
  cổng:
   - 3306:3306
  tập_tin_nén:
   - ~/apps/mysql:/var/lib/mysql
  môi_trường:
   - MYSQL_ROOT_PASSWORD=xxx
   - MYSQL_DATABASE=test
   - MYSQL_USER=test
   - MYSQL_PASSWORD=xxx

Lưu ý:

  • cổng: Cấu hình cổng thông thường sử dụng định dạng "HOST:CONTAINER", trong đó "HOST" là cổng trên máy chủ và "CONTAINER" là cổng bên trong container. Định dạng này ám chỉ rằng Docker sẽ ánh xạ cổng từ máy chủ đến cổng trong container. Nếu không muốn mở cổng 3306 ra ngoài công cộng, bạn có thể chỉ viết 3306 thay vì 3306:3306.
  • tập_tin_nén: Đây là nơi gắn thư mục /var/lib/mysql bên trong container vào thư mục ~/apps/mysql trên máy chủ. Thư mục /var/lib/mysql là nơi mà MySQL lưu trữ các file dữ liệu mặc định. Điều này nghĩa là tất cả dữ liệu được lưu trữ sẽ được bảo toàn trong thư mục ~/apps/mysql trên máy chủ.
  • môi_trường: Các biến môi trường, trong đó MYSQL_ROOT_PASSWORD thiết lập mật khẩu mặc định cho tài khoản root. MYSQL_DATABASE, MYSQL_USER, và MYSQL_PASSWORD là những cấu hình tùy chọn, lần lượt đại diện cho tên cơ sở dữ liệu mặc định, tài khoản quản trị viên và mật khẩu tương ứng.

Để khởi động dịch vụ, sử dụng lệnh sau:

docker compose up -d

Tham số -d giúp chạy container ở chế độ detached, tức là container sẽ tiếp tục hoạt động ngay cả khi kết nối từ xa bị ngắt.

Bạn có thể dùng lệnh sau để kiểm tra:

docker compose ps

Kết quả trả về sẽ trông giống như sau:

TÊN       HÌNH_ÁNH    LỆNH         DỊCH_VỤ  ĐƯỢC_TẠO     TRẠNG_THÁI     CỔNG
xxx-mysql-1  mysql:8.0  "docker-entrypoint.s…"  mysql   39 giây trước  Hoạt_động 38 giây  33060/tcp, 0.0.0.0:32768->3306/tcp, :::32768->3306/tcp

Để truy cập vào shell của container MySQL, nhập lệnh sau:

docker compose exec mysql /bin/bash

Sau khi vào được shell của container, bạn có thể sử dụng lệnh client MySQL bình thường để đăng nhập:

bash-5.1# mysql -uroot -p
Nhập mật khẩu:
Chào mừng bạn đến với giao diện giám sát MySQL. Các lệnh kết thúc bằng ; hoặc \g.
ID kết nối [quay hu](/blog/wisdom-teeth-gums-sore-cant-eat-drink-gruel-to-sustain-life/)  MySQL của bạn là 9
Phiên bản máy chủ: 8.0.37 MySQL Community Server - GPL

Trước khi sử dụng bất kỳ hình ảnh Docker nào, hãy đọc kỹ tài liệu mô tả của nó. Ví dụ:

Bởi vì có rất nhiều cấu hình (biến môi trường) và hướng dẫn hoạt động liên quan, cách làm việc với MySQL qua Docker hoàn toàn khác so với việc cài đặt trực tiếp MySQL trên máy chủ. Một ví dụ điển hình là quá trình sao lưu và khôi phục dữ liệu cũng đòi hỏi sự điều chỉnh phù hợp với môi trường container.