Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách khởi động Cơ sở dữ liệu MySql trong Docker Compose

Để chỉ tải các tệp sql của bạn trong lần chạy đầu tiên:

Bạn có thể sử dụng tệp soạn thảo dưới đây

version: '2.1'
services:

  usermanagement-service:
    build: ./UserManagementService
    restart: on-failure
    ports:
      - "7778:7778"
    depends_on:
      mysqldb:
        condition: service_healthy

  mysqldb:
    image: mysql
    volumes:
      - ./mysql-data:/var/lib/mysql
      - ./mysql-init-files:/docker-entrypoint-initdb.d
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: userdb
      MYSQL_USER: testuser
      MYSQL_PASSWORD: testuser
    ports:
      - "3600:3306"
    healthcheck:
      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
      timeout: 20s
      retries: 10

Bạn phải đặt data.sql của mình và schema.sql các tệp trong ./docker-entrypoint-initdb.d thư mục sử dụng Volumes để biết thêm thông tin .

Các tệp SQL trong thư mục này sẽ chỉ được tải nếu thư mục dữ liệu của DB trống (lần chạy dịch vụ db đầu tiên) . (tức là) trong trường hợp của bạn ./mysql-data thư mục phải trống

Đối với vấn đề thứ hai của bạn:

Thay vì sử dụng wait-for-it.sh , bạn có thể sử dụng healthcheckservice_healthy . Tại đây usermanagement-service sẽ được bắt đầu sau khi mysqldb thực thi thành công ["CMD", "mysqladmin" ,"ping", "-h", "localhost"] trong khoảng thời gian xác định. Để biết thêm chi tiết về kiểm tra sức khỏe và phụ thuộc, hãy tham khảo tại đây .

Đã có test lệnh từ tại đây .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL ERROR 2049 (HY000):Kết nối sử dụng tham chiếu giao thức xác thực cũ (trước 4.1.1) đã được sử dụng (tùy chọn máy khách 'secure_auth' được bật)

  2. Nhiều COUNT () cho nhiều điều kiện trong một truy vấn (MySQL)

  3. Làm cách nào để tham chiếu bảng chính trong một phép nối nhiều bảng?

  4. Đối sánh SQL về sắp xếp chữ cái và số

  5. Lỗi cú pháp SQL khi tải tệp cơ sở dữ liệu (Lỗi phiên bản có thể xảy ra?)