Я разрабатываю «скрипт одного файла» для запуска MySQL базы данных внутри Docker и много полезных мыслей. Сценарий должен создать контейнер с MySQL и после этого создать нового пользователя с максимальными привилегиями.
Проблема возникает, когда я пытаюсь подключиться к командной строке MySQL из сценария bash . Часть сценария:
#!/bin/bash
mysqlContainerName=project-mysql
mysqlRootUsername=root
mysqlRootPassword=root_pass
mysqlUsername=db_user
mysqlPassword=db_pass
mysqlDb=project_db
echo -e "Creating container \e[31m$mysqlContainerName\e[0m"
docker run --rm -d \
--name=$mysqlContainerName \
--network api-network \
-p 3306:3306 \
-v /opt/docker-data/mysql-volumes:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=$mysqlRootPassword \
-e MYSQL_DATABASE=$mysqlDb \
-t mysql:8.0.19
docker exec $mysqlContainerName \
mysql -h 127.0.0.1 -P 3306 --protocol=tcp \
-uroot -p$mysqlRootPassword -e "CREATE USER '$mysqlUsername'@'localhost' IDENTIFIED BY
'$mysqlPassword';"
Итак, контейнер успешно создан, но все время появляется сообщение об ошибке: ОШИБКА 2003 (HY000): не удается подключиться к MySQL сервер на 127.0.0.1 (111) Есть предложения?