Files
gangyan/chat_web_backend/修复数据库密码.md

2.2 KiB
Raw Blame History

修复数据库密码问题

当前错误

Access denied for user 'root'@'172.20.0.1' (using password: YES)

问题

配置文件中的MySQL密码 1234567890 不正确。

解决方案

方案1修改配置文件中的密码如果知道正确密码

编辑 src/main/resources/application-yj.yml

spring:
  datasource:
    password: 你的正确密码  # 修改这里

然后重新编译:

cd /home/gc/gangyan/chat_web_backend
./compile.sh

方案2重置MySQL root密码

步骤1停止MySQL服务

sudo systemctl stop mysql
# 或者
sudo service mysql stop

步骤2以安全模式启动MySQL

sudo mysqld_safe --skip-grant-tables --skip-networking &

步骤3无密码连接MySQL

mysql -uroot

步骤4重置密码

USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234567890';
FLUSH PRIVILEGES;
EXIT;

步骤5重启MySQL

sudo pkill mysqld
sudo systemctl start mysql

步骤6创建数据库

mysql -uroot -p1234567890 -e "CREATE DATABASE IF NOT EXISTS \`chat_gpt_yj\` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"

步骤7导入SQL脚本

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中

# 查找MySQL容器
docker ps | grep mysql

# 进入容器
docker exec -it <容器名> mysql -uroot -p

# 然后执行重置密码的SQL

方案4临时跳过数据库检查仅用于测试

如果只是想先启动看看其他功能,可以临时禁用数据库自动配置:

ChatApplication.java 中已经排除了 DataSourceAutoConfiguration,所以理论上可以启动,但功能会受限。

验证

测试连接:

mysql -uroot -p1234567890 -e "SHOW DATABASES;"

如果成功,应该能看到数据库列表。