根据你提供的错误信息,问题的根本原因是数据库访问被拒绝。具体来说,错误信息表明用户 `'mcde_db'@'%'` 在尝试使用密码连接到数据库时被拒绝了访问权限。
### 可能的原因和解决方案:
1. **用户名或密码错误**:
   - 确保在连接数据库时使用的用户名和密码是正确的。
   - 检查配置文件(如 `application.properties` 或 `application.yml`)中的数据库连接信息,确保用户名和密码没有拼写错误。
2. **用户权限不足**:
   - 用户 `'mcde_db'@'%'` 可能没有足够的权限访问指定的数据库或表。
   - 登录到数据库服务器,检查该用户的权限。可以使用以下命令查看用户权限:
     ```sql
     SHOW GRANTS FOR 'mcde_db'@'%';
     ```
   - 如果权限不足,可以使用以下命令授予必要的权限:
     ```sql
     GRANT ALL PRIVILEGES ON database_name.* TO 'mcde_db'@'%';
     FLUSH PRIVILEGES;
     ```
3. **用户不存在**:
   - 确保用户 `'mcde_db'@'%'` 确实存在于数据库中。可以使用以下命令检查用户是否存在:
     ```sql
     SELECT User, Host FROM mysql.user WHERE User = 'mcde_db' AND Host = '%';
     ```
   - 如果用户不存在,可以使用以下命令创建用户并设置密码:
     ```sql
     CREATE USER 'mcde_db'@'%' IDENTIFIED BY 'your_password';
     GRANT ALL PRIVILEGES ON database_name.* TO 'mcde_db'@'%';
     FLUSH PRIVILEGES;
     ```
4. **数据库连接配置问题**:
   - 检查应用程序的数据库连接配置,确保数据库的URL、端口、数据库名称等信息正确无误。
   - 确保数据库服务器正在运行,并且可以从应用程序所在的网络访问。
5. **防火墙或网络问题**:
   - 如果数据库服务器和应用程序不在同一台机器上,确保网络连接正常,并且没有防火墙规则阻止访问。
6. **数据库服务器配置**:
   - 检查数据库服务器的配置,确保它允许来自 `'%'`(即任何主机)的连接。如果数据库服务器配置为只允许特定主机的连接,可能需要调整配置。
### 总结:
你需要检查数据库连接的用户名、密码、权限以及网络配置,确保应用程序能够正确连接到数据库。如果问题仍然存在,可以进一步查看数据库服务器的日志,以获取更多关于访问被拒绝的详细信息。