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

Làm cách nào để thêm một tập lệnh khởi động vào một vùng chứa của docker mysql?

Bạn cần tạo người dùng qua MYSQL_USER , MYSQL_PASSWORD env vars và sử dụng volume /docker-entrypoint-initdb.d để ánh xạ thư mục với các tập lệnh khởi động của bạn (.sh , .sql , .sql.gz )

docker run -p 3306:3306 --name mysql-server \ 
 -v ~/Development/web/myproject/docker/mysql:/var/lib/mysql \
 -v ~/Development/web/myproject/docker/yourstartupscripts:/docker-entrypoint-initdb.d \
 -e MYSQL_ROOT_PASSWORD=root \
 -e MYSQL_USER=youruser \
 -e MYSQL_PASSWORD=youruserpassword \
 -d mysql:latest

Giải thích từ: https://hub.docker.com/_/mysql/

MYSQL_USER, MYSQL_PASSWORD
Các biến này là tùy chọn, được sử dụng kết hợp để tạo người dùng mới và đặt mật khẩu của người dùng đó. Người dùng này sẽ được cấp quyền siêu người dùng (xem ở trên) đối với cơ sở dữ liệu được chỉ định bởi MYSQL_DATABASE Biến đổi. Cả hai biến đều được yêu cầu để tạo người dùng.

Khởi tạo phiên bản mới
Khi một vùng chứa được khởi động lần đầu tiên, một cơ sở dữ liệu mới với tên được chỉ định sẽ được tạo và khởi tạo với các biến cấu hình được cung cấp. Hơn nữa, nó sẽ thực thi các tệp có phần mở rộng .sh , .sql.sql.gz được tìm thấy trong /docker-entrypoint-initdb.d . Các tệp sẽ được thực thi theo thứ tự bảng chữ cái. Bạn có thể dễ dàng điền các dịch vụ mysql của mình bằng gắn tệp kết xuất SQL vào thư mục đó và cung cấp hình ảnh tùy chỉnh với dữ liệu đóng góp. Các tệp SQL sẽ được nhập theo mặc định vào cơ sở dữ liệu được chỉ định bởi MYSQL_DATABASE biến.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn tham gia Mysql cho nhiều thẻ (mối quan hệ nhiều-nhiều) khớp với TẤT CẢ các thẻ?

  2. Cách hàm LOAD_FILE () hoạt động trong MySQL

  3. mysql thay đổi khóa duy nhất thành chính (mariadb)

  4. Ràng buộc khóa ngoại MySQL, xóa theo tầng

  5. Cột không rõ ràng trong câu lệnh INNER JOIN