SQLAlchemy报1049错误:已创建数据库仍提示'majorproject_db'不存在
解决SQLAlchemy连接MySQL时的1049错误
核对数据库名称一致性:你的SQLAlchemy配置中指定的数据库是
majorproject_db,但phpMyAdmin显示已创建的是majorproject,名称完全不匹配,这是导致错误的核心原因。修改配置中的数据库名,匹配实际存在的库:app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@localhost/majorproject'重启MySQL服务:数据库创建完成后,部分情况下需要重启服务才能让新库被系统识别:
- Windows终端执行:
net stop mysql && net start mysql - Linux终端执行:
sudo systemctl restart mysql
- Windows终端执行:
验证用户权限:确保root用户拥有目标数据库的访问权限,登录MySQL命令行执行:
GRANT ALL PRIVILEGES ON majorproject.* TO 'root'@'localhost'; FLUSH PRIVILEGES;调整连接参数:尝试将
localhost替换为127.0.0.1(避免socket解析问题),如果MySQL使用非默认3306端口,需在URI中指定:# 示例:指定3307端口 app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@127.0.0.1:3307/majorproject'手动测试连接:用MySQL命令行工具直接连接目标数据库,排除SQLAlchemy层面的问题:
mysql -u root -p majorproject若能成功进入数据库,说明问题出在SQLAlchemy配置或缓存;若连接失败,根据终端报错进一步排查。
内容的提问来源于stack exchange,提问作者its afrahere
相关产品推荐
相关产品推荐

