【发布时间】:2021-03-21 08:16:50
【问题描述】:
我想从 docker 容器运行 db setup 脚本并成功运行命令,但我需要将 setup.sh 中的所有命令放入一个 .sql 文件并运行相同的文件。
任何人都可以就如何实现它提供帮助和建议,当我在 dbScript.sql 中添加创建数据库时它会失败,而使用 mysql 命令行单独运行它是有效的。
setUp.sh
#!bin/bash
mysql -u root -p -e "drop database IF EXISTS order_db"
mysql -u root -p -e "create database order_db"
mysql -u root -p order_db < dbScript.sql
db.sql
USE order_db;
DROP TABLE IF EXISTS `order`;
CREATE TABLE `order` (
`id` int(9) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;
docker 容器命令
#!bin/bash
docker-compose up -d
docker exec -it ordermanagementsystem_db_1 bash ./setUp.sh
【问题讨论】:
-
SQL脚本运行失败是什么原因?