# MySQL 数据库设置指南 ## 连接信息 - 服务器: `101.132.182.216:3306` - 用户名: `sc_root` - 密码: `Shsc#$@2024#@!` ## 步骤 1: 连接到 MySQL 使用以下任一工具连接到 MySQL 服务器: ### 选项 A: MySQL 命令行 ```bash mysql -h 101.132.182.216 -P 3306 -u sc_root -p # 输入密码: Shsc#$@2024#@! ``` ### 选项 B: MySQL Workbench 1. 打开 MySQL Workbench 2. 创建新连接 3. 输入上述连接信息 ### 选项 C: Navicat 1. 打开 Navicat 2. 新建 MySQL 连接 3. 输入上述连接信息 ## 步骤 2: 执行初始化脚本 连接成功后,执行 `init-database.sql` 文件中的所有 SQL 语句。 或者直接复制以下 SQL 执行: ```sql -- 删除已存在的数据库(如果存在) DROP DATABASE IF EXISTS petwash; -- 创建数据库 CREATE DATABASE petwash CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 使用数据库 USE petwash; -- 创建套餐表 CREATE TABLE Packages ( Id INT AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(100) NOT NULL, Price DECIMAL(10, 2) NOT NULL, DurationMinutes INT NOT NULL, Description VARCHAR(500) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- 创建订单表 CREATE TABLE Orders ( Id INT AUTO_INCREMENT PRIMARY KEY, PackageId INT NOT NULL, CreatedAt DATETIME NOT NULL, Status INT NOT NULL, IsPaid TINYINT(1) NOT NULL DEFAULT 0, PaidAt DATETIME NULL, StartedAt DATETIME NULL, CompletedAt DATETIME NULL, FOREIGN KEY (PackageId) REFERENCES Packages(Id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- 插入初始套餐数据 INSERT INTO Packages (Id, Name, Price, DurationMinutes, Description) VALUES (1, '套餐1', 50.00, 38, '适用于小型犬'), (2, '套餐2', 80.00, 48, '适用于中型犬'), (3, '套餐3', 120.00, 60, '适用于大型犬'); -- 验证数据 SELECT '数据库初始化完成' AS Status; SELECT * FROM Packages; ``` ## 步骤 3: 部署 API 容器 数据库初始化完成后,执行: ```powershell docker-compose down docker-compose up --build -d ``` ## 步骤 4: 验证部署 ```powershell # 查看容器状态 docker ps # 查看日志 docker logs petwash-api -f # 测试 API curl http://localhost:5000/api/packages ``` ## 访问地址 - API: http://localhost:5000 - Swagger: http://localhost:5000/swagger ## 故障排查 如果遇到连接问题: 1. 检查 MySQL 服务器防火墙是否允许你的 IP 2. 确认用户权限: ```sql SHOW GRANTS FOR 'sc_root'@'%'; ``` 3. 如果需要授权: ```sql GRANT ALL PRIVILEGES ON petwash.* TO 'sc_root'@'%'; FLUSH PRIVILEGES; ```