[英]How to grant only few previleges ( to execute only DML and DDL statements) to the new user in MySQL?
[英]I Want to create a MySql database in a docker container and execute few DDL and DML Statements in it while the container is starting up
這是我docker-compose.yml
文件
version: "3.5"
services:
docker-mysql:
image: mysql:5.7
container_name: docker-mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=user_management
- MYSQL_PASSWORD=password
默認數據庫創建為“ user_management” ,現在我要執行的文件中包含DDL和DML語句,即DDL語句(創建表)和DML語句(默認情況下插入幾個用戶)。 不是通過輸入bash並手動執行語句,而是通過任何自動docker方式加載包含DDL和DML語句的文件並執行它。
在mysql dockerhub中說,在/docker-entrypoint-initdb.d中找到的擴展名為.sh,.sql和.sql.gz的文件將在容器啟動時執行到MYSQL_DATABASE變量指定的數據庫。
version: "3.5"
services:
docker-mysql:
image: mysql:5.7
container_name: docker-mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=user_management
- MYSQL_PASSWORD=password
volumes:
- /yourscript:/docker-entrypoint-initdb.d
因此,如上所述,您可以裝載卷並在該位置添加DDL和DML腳本。 然后mysql將在啟動時執行它們。 /yourscript
是腳本的位置
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.