12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #!/bin/bash
- # 确认 Docker 和 Docker Compose 已安装
- if ! command -v docker &> /dev/null; then
- echo "Docker 未安装,请先安装 Docker"
- exit 1
- fi
- if ! command -v docker-compose &> /dev/null; then
- echo "Docker Compose 未安装,请先安装 Docker Compose"
- exit 1
- fi
- # 确保我们位于脚本所在目录
- SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
- cd "$SCRIPT_DIR" || exit 1
- # 执行 docker-compose-base.yml 文件
- echo "启动 Docker 服务..."
- docker-compose -f docker-compose-base.yml up -d
- # 等待服务启动
- echo "等待服务启动..."
- sleep 10
- # 定义数据库相关信息
- CONTAINER_NAME="mysql" # 替换为你的数据库容器名称
- DATABASE_NAME="kxmall3" # 替换为你想要创建的数据库名称
- DATABASE_USER="root" # 替换为你想要使用的数据库用户名
- DATABASE_PASSWORD="1234newpwd!@#ABC" # 替换为你想要使用的数据库密码
- # 创建数据库并设置编码
- echo "创建数据库并设置编码..."
- docker exec -i "$CONTAINER_NAME" mysql -u "$DATABASE_USER" -p"$DATABASE_PASSWORD" <<EOF
- CREATE DATABASE IF NOT EXISTS $DATABASE_NAME CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- EOF
- # 执行 SQL 脚本
- SQL_SCRIPT="kxmall3.sql"
- if [ -f "$SQL_SCRIPT" ]; then
- echo "执行 SQL 脚本..."
- docker exec -i "$CONTAINER_NAME" mysql -u "$DATABASE_USER" -p"$DATABASE_PASSWORD" "$DATABASE_NAME" < "$SQL_SCRIPT"
- if [ $? -eq 0 ]; then
- echo "SQL 脚本执行成功!"
- else
- echo "SQL 脚本执行失败!"
- exit 1
- fi
- else
- echo "SQL 脚本文件 $SQL_SCRIPT 不存在!"
- exit 1
- fi
- echo "所有操作已完成!"
|