我正在尝试运行SQL Alchemy教程,但我在创建表时遇到问题。我收到此错误(完整的Traceback here)
sqlalchemy.exc.InternalError: (InternalError) (1, "Can't create/write to file '/mysqltmp/#sql_a5f_0.MYI' (Errcode: 13)") 'DESCRIBE ``users`` ()
当我尝试运行以下代码时
from sqlalchemy import create_engine, MetaData
from ers_config import database_connect_string
from sqlalchemy.orm import sessionmaker
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
fullname = Column(String)
password = Column(String)
def __repr__(self):
return "<User(name='%s', fullname='%s', password='%s')>" % (
self.name, self.fullname, self.password)
ed_user = User(name='ed', fullname='Ed Jones', password='edspassword')
my_engine = create_engine(database_connect_string)
Session = sessionmaker(bind=my_engine)
my_session = Session()
Base.metadata.create_all(my_engine)
无论我是否在虚拟环境中,都会发生同样的错误
答案 0 :(得分:0)
这个问题是因为我最近移动了我的My SQL临时文件夹。我的/tmp
文件夹很快就填满了(由于其他操作),所以我通过指向/etc/my.cnf
文件中指定的文件夹来移动它。
我在底部添加了一行代码:tmpdir=/home/arguably/tmp/mysqltmp
然后,错误来自于该文件的文件权限不正确的事实。
我使用了chmod 1777 /home/arguably/tmp/mysqltmp
,问题解决了。
这些信息是通过拖曳信息的沼泽来收集的,我仍然不清楚1
命令中的第一个“1777
”是什么。