我当时正在我的ubuntu16.0.4服务器上工作,在symfony3.4应用程序上。我不小心做了一个不好的操作
sudo chown -R USER /var/
当我想进去的时候:
sudo chown -R USER var/
从那以后,我无法访问我的数据库。
我的symfony应用程序告诉我:
An exception occured in driver: SQLSTATE[HY000] [1049] Unknown database 'pics'
使用条令,试图建立一个新的数据库,我有一个错误:
SQLSTATE[HY000]: General error: 13 Can't get stat of './pics' (Errcode: 13 - Permission denied)
我不知道我的数据库怎么会被这样删除。
有人能帮我吗?
1条答案
按热度按时间oknwwptz1#
如果您在上更新了用户
/var
,然后/var/lib/mysql
目录属于错误的用户,并且mysqld
进程无法写入该目录(也可能无法读取)。您可以通过以下方式还原数据库的权限:
(注意:假设使用默认进程所有者和默认目录位置)
然后我可能会重新启动mysql进程。
但是,您可能有多个其他问题,包括
/var/run
没有所有正确的所有者,因此虽然系统目前可能处于半稳定状态,但重新启动可能会失败得很严重。然而,正如评论所指出的,通过允许通过
chmod 777
,这只是以一种不安全的方式打开系统。如果丢失权限集,则会增加另一层问题。正确的方法是固定目录中所有目录的所有权
/var
等级制度。可能与一个已知的好的系统进行比较会提供正确的所有者。但对于数据库,上面的命令将再次提供访问权限。