# 修复数据库密码问题 ## 当前错误 ``` Access denied for user 'root'@'172.20.0.1' (using password: YES) ``` ## 问题 配置文件中的MySQL密码 `1234567890` 不正确。 ## 解决方案 ### 方案1:修改配置文件中的密码(如果知道正确密码) 编辑 `src/main/resources/application-yj.yml`: ```yaml spring: datasource: password: 你的正确密码 # 修改这里 ``` 然后重新编译: ```bash cd /home/gc/gangyan/chat_web_backend ./compile.sh ``` ### 方案2:重置MySQL root密码 #### 步骤1:停止MySQL服务 ```bash sudo systemctl stop mysql # 或者 sudo service mysql stop ``` #### 步骤2:以安全模式启动MySQL ```bash sudo mysqld_safe --skip-grant-tables --skip-networking & ``` #### 步骤3:无密码连接MySQL ```bash mysql -uroot ``` #### 步骤4:重置密码 ```sql USE mysql; ALTER USER 'root'@'localhost' IDENTIFIED BY '1234567890'; FLUSH PRIVILEGES; EXIT; ``` #### 步骤5:重启MySQL ```bash sudo pkill mysqld sudo systemctl start mysql ``` #### 步骤6:创建数据库 ```bash mysql -uroot -p1234567890 -e "CREATE DATABASE IF NOT EXISTS \`chat_gpt_yj\` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;" ``` #### 步骤7:导入SQL脚本 ```bash cd /home/gc/gangyan/chat_web_backend mysql -uroot -p1234567890 chat_gpt_yj < doc/sql/sys.sql mysql -uroot -p1234567890 chat_gpt_yj < doc/sql/chat_gpt.sql mysql -uroot -p1234567890 chat_gpt_yj < doc/sql/knowledge_base.sql mysql -uroot -p1234567890 chat_gpt_yj < doc/sql/gpt_folder.sql mysql -uroot -p1234567890 chat_gpt_yj < doc/sql/writter_docs.sql mysql -uroot -p1234567890 chat_gpt_yj < doc/sql/quartz.sql ``` ### 方案3:如果MySQL在Docker中 ```bash # 查找MySQL容器 docker ps | grep mysql # 进入容器 docker exec -it <容器名> mysql -uroot -p # 然后执行重置密码的SQL ``` ### 方案4:临时跳过数据库检查(仅用于测试) 如果只是想先启动看看其他功能,可以临时禁用数据库自动配置: 在 `ChatApplication.java` 中已经排除了 `DataSourceAutoConfiguration`,所以理论上可以启动,但功能会受限。 ## 验证 测试连接: ```bash mysql -uroot -p1234567890 -e "SHOW DATABASES;" ``` 如果成功,应该能看到数据库列表。