#!/bin/bash

# 配置参数
MYSQL_CONTAINER_NAME="mysql-server"
MYSQL_ROOT_PASSWORD="rootpassword"
MYSQL_DATABASE="mydatabase"
MYSQL_USER="myuser"
MYSQL_PASSWORD="mypassword"
MYSQL_PORT="3306"
MYSQL_DATA_DIR="$PWD/mysql_data"

# 创建数据目录（如果不存在）
mkdir -p "$MYSQL_DATA_DIR"

# 检查是否已有同名容器在运行
if [ "$(docker ps -q -f name=$MYSQL_CONTAINER_NAME)" ]; then
    echo "容器 $MYSQL_CONTAINER_NAME 已在运行"
    exit 0
fi

# 停止并删除已有容器（如果存在）
if [ "$(docker ps -aq -f name=$MYSQL_CONTAINER_NAME)" ]; then
    docker stop $MYSQL_CONTAINER_NAME
    docker rm $MYSQL_CONTAINER_NAME
fi

# 运行 MySQL 容器
docker run -d \
  --name $MYSQL_CONTAINER_NAME \
  -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD \
  -e MYSQL_DATABASE=$MYSQL_DATABASE \
  -e MYSQL_USER=$MYSQL_USER \
  -e MYSQL_PASSWORD=$MYSQL_PASSWORD \
  -p $MYSQL_PORT:3306 \
  -v $MYSQL_DATA_DIR:/var/lib/mysql \
  --restart unless-stopped \
  mysql:8.0

echo "MySQL 容器已启动，监听端口 $MYSQL_PORT"
