#mysql #docker #docker-compose
#mysql #docker #docker-составить
Вопрос:
я попытался внести 2 изменения в свой docker-compose, но я не нашел, как это сделать. 1- Я хочу создать 2 пользователя. 2- Я хочу импортировать файл sql из docker-compose.
version: '3.8'
services:
mysql:
image: mysql:8.0.21
command: --default-authentication-plugin=mysql_native_password
restart: always
container_name: mysql
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_USER="user, user2"
- MYSQL_PASSWORD="pass, pass2"
- MYSQL_DATABASE=templateProject
- MYSQL_MAX_ALLOWED_PACKET=1024M
- MYSQL_INNODB_BUFFER_POOL_SIZE=1G
- MYSQL_INNODB_LOG_FILE_SIZE=256M
- MYSQL_INNODB_LOG_BUFFER_SIZE=256M
ports:
- '3361:3360'
volumes:
- ./dump.sql:/my_dump.sql
phpmyadmin:
image: phpmyadmin
restart: always
container_name: phpmyadmin
ports:
- 8080:80
environment:
- PMA_ARBITRARY=1
Ответ №1:
Для # 2 вы должны связать смонтировать каталог, содержащий ваш файл sql, следующим образом:
"./folderwithsql:/docker-entrypoint-initdb.d"
Для # 1 вы можете включить другой файл sql в свой монтируемый файл «folderwithsql», который включает инструкции SQL для создания дополнительного пользователя. Файл будет содержать что-то похожее на эти:
CREATE USER 'extrauser'@'%' IDENTIFIED BY 'passwordforextrauser';
GRANT INSERT, UPDATE, SELECT, DELETE ON mynewdb.* TO 'extrauser'@'%';
Комментарии:
1. Привет, Карлос, спасибо за твой ответ. Я сделал то, что вы сказали, но не сработало 🙁
2. Он не запускал ни один из ваших sql-скриптов или просто не создавал дополнительного пользователя?
3. Любой скрипт … я помещаю это в dump.sql — — — — Использовать базу данных. ИСПОЛЬЗУЙТЕ
templateProject
; СОЗДАЙТЕ ТАБЛИЦУtblAction
(id
bigint(20) NOT NULL,name
varchar(250) NOT NULL,FK_activeID
bigint(20) NOT NULL,createdAt
datetime NOT NULL,updatedAt
datetime NOT NULL ) ENGINE= КОДИРОВКА InnoDB ПО УМОЛЧАНИЮ = utf8;4. тома: — «/Users/gustavo/Desktop/mysqldump:/docker-entrypoint-initdb.d»