This commit is contained in:
2025-11-01 17:06:47 +08:00
parent ce40cafad2
commit 41a4c28f39
5 changed files with 53 additions and 11 deletions

View File

@@ -263,12 +263,12 @@ services:
- SPRING_PROFILES_ACTIVE=prod
- SERVER_PORT=9081
# MySQL数据库配置
- DB_HOST=mysql
- DB_PORT=3306
- DB_NAME=enterprise_digital_archives
- DB_USERNAME=root
- DB_PASSWORD=Abc@123456
- DB_DRIVER=com.mysql.jdbc.Driver
- DB_HOST=mysql
- DB_PORT=3306
- DB_NAME=enterprise_digital_archives
- DB_USERNAME=root
- DB_PASSWORD=Abc@123456
- DB_DRIVER=com.mysql.cj.jdbc.Driver
# Redis配置
- REDIS_HOST=redis
- REDIS_PORT=6379
@@ -315,7 +315,7 @@ DB_PORT=3306
DB_NAME=enterprise_digital_archives
DB_USERNAME=root
DB_PASSWORD=Abc@123456
DB_DRIVER=com.mysql.jdbc.Driver
DB_DRIVER=com.mysql.cj.jdbc.Driver
# Redis配置
REDIS_HOST=redis

42
check-mysql-compatibility.sh Executable file
View File

@@ -0,0 +1,42 @@
#!/bin/bash
echo "=== MySQL 兼容性检查脚本 ==="
echo
# 检查 MySQL 容器
MYSQL_CONTAINER=$(docker ps --format "table {{.Names}}" | grep -i mysql | head -1)
if [ -z "$MYSQL_CONTAINER" ]; then
echo "❌ 未找到运行中的 MySQL 容器"
echo "请确保 MySQL 容器正在运行"
exit 1
fi
echo "✓ 找到 MySQL 容器: $MYSQL_CONTAINER"
echo
echo "🔍 检查 MySQL 版本:"
MYSQL_VERSION=$(docker exec "$MYSQL_CONTAINER" mysql --version 2>/dev/null || echo "无法获取版本")
echo "MySQL 版本: $MYSQL_VERSION"
echo
echo "🔍 检查认证插件:"
docker exec "$MYSQL_CONTAINER" mysql -u root -pAbc@123456 -e "SELECT plugin FROM mysql.user WHERE User='root';" 2>/dev/null || echo "无法查询认证插件"
echo
echo "🔍 检查用户权限:"
docker exec "$MYSQL_CONTAINER" mysql -u root -pAbc@123456 -e "SHOW GRANTS FOR 'root'@'%';" 2>/dev/null || echo "无法查询用户权限"
echo
echo "💡 如果仍有连接问题,可以尝试以下解决方案:"
echo "1. 在 MySQL 中修改用户认证方式:"
echo " ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Abc@123456';"
echo " FLUSH PRIVILEGES;"
echo
echo "2. 检查 MySQL 配置文件中的 default-authentication-plugin"
echo
echo "3. 确认网络连接正常:"
echo " docker exec $MYSQL_CONTAINER ping mysql"
echo
echo "=== 检查完成 ==="

View File

@@ -23,7 +23,7 @@ services:
- DB_NAME=enterprise_digital_archives
- DB_USERNAME=root
- DB_PASSWORD=Abc@123456
- DB_DRIVER=com.mysql.jdbc.Driver
- DB_DRIVER=com.mysql.cj.jdbc.Driver
# Redis配置
- REDIS_HOST=redis
- REDIS_PORT=6379

View File

@@ -58,7 +58,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
<version>8.0.33</version>
</dependency>
<!-- 分页插件 -->
<dependency>

View File

@@ -12,8 +12,8 @@ server:
spring:
# 生产环境数据源配置
datasource:
driverClassName: ${DB_DRIVER:com.mysql.jdbc.Driver}
url: jdbc:mysql://${DB_HOST:mysql}:${DB_PORT:3306}/${DB_NAME:enterprise_digital_archives}?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&serverTimezone=Asia/Shanghai
driverClassName: ${DB_DRIVER:com.mysql.cj.jdbc.Driver}
url: jdbc:mysql://${DB_HOST:mysql}:${DB_PORT:3306}/${DB_NAME:enterprise_digital_archives}?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: ${DB_USERNAME:root}
password: ${DB_PASSWORD:Abc@123456}