文章内容
2021/7/16 18:40:35,作 者: 黄兵
(MySQLdb._exceptions.OperationalError) (1142, "CREATE command denied to user ''@'' for table ''")
最近在使用SQLAlchemy初始化数据库的时候,出现了如下错误提示:
sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1142, "CREATE command denied to user 'User'@'1.1.1.1' for table 'alembic_version'")
出现以上错误的原因:
用户的权限不足,具体看看执行的sql语句:
CREATE TABLE alembic_version (
version_num VARCHAR(32) NOT NULL,
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
)可以看到这里需要用到CREATE这个命令,我们查看由于是否可以执行CREATE这条sql命令:
show grants for 'User'@'%';
这里查询User的权限,具体结果如下:

可以看到并没有赋予用户CREATE权限。
解决方案:
根据项目情况,如果项目允许修改用户权限,直接修改用户权限,如果无法修改权限,直接换有权限的用户建表。
参考资料:
黄兵个人博客原创。
评论列表