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

Cách tạo Hình ảnh Docker MySQL được phổ biến theo thời gian xây dựng

Tôi đã gặp phải vấn đề tương tự trong tuần này. Tôi đã tìm thấy một giải pháp hiệu quả mà không cần đến --volumes-from

Vấn đề đã được nêu là /var/lib/mysql là một tập và vì Docker sẽ không hỗ trợ UNVOLUME trong tương lai gần đó là Dockerfile, bạn không thể sử dụng vị trí này để lưu trữ cơ sở dữ liệu của mình nếu bạn muốn bắt đầu với một cơ sở dữ liệu trống theo mặc định. ( https://github.com/docker/docker/issues/18287 ). Đó là lý do tại sao tôi ghi đè etc/mysqld.my.cnf , cung cấp cho mysql một datadir mới.

Cùng với câu trả lời của anh ấy, bạn có thể tạo một Dockerile như sau:

FROM mysql:5.6

ENV MYSQL_DATABASE db
ENV MYSQL_ROOT_PASSWORD pass
COPY db.sql /docker-entrypoint-initdb.d/db.sql
COPY my.cnf /etc/mysql/my.cnf
RUN /entrypoint.sh mysqld & sleep 30 && killall mysqld
RUN rm /docker-entrypoint-initdb.d/db.sql

Thay đổi duy nhất có trong my.cnf là vị trí của datadir:

.... 
[mysqld]
skip-host-cache
skip-name-resolve
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql2 <-- can be anything except /var/lib/mysql
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql
explicit_defaults_for_timestamp
....


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn ngày trong tuần từ ngày

  2. UTF-8 xuyên suốt

  3. Tìm nạp MySQL Workbench ... - không thể duyệt qua DB

  4. Mysql2 ::Lỗi:Quyền truy cập bị từ chối đối với người dùng 'test' @ 'localhost' vào cơ sở dữ liệu 'depot_test'

  5. Hộp kiểm biểu mẫu PHP và chỉ mục không xác định