SQLSTATE [HY000]:常规错误:13无法获取“ ./pics”的统计信息(错误代码:13-权限被拒绝)

时间:2018-10-19 22:42:42

标签: php mysql symfony ubuntu

我在Symfony 3.4应用程序上的ubuntu 16.0.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 个答案:

答案 0 :(得分:2)

如果您在/var上更新了用户,则/var/lib/mysql目录归错误的用户所有,并且mysqld进程无法写入该目录(可能无法读取该目录)

您可以通过以下方式恢复数据库的权限:

cd /var/lib
chown -R mysql:mysql mysql

(注意:假设使用默认的进程所有者和默认目录位置)

然后我可能会重新启动mysql进程。

但是,您可能还有很多其他问题,包括/var/run并没有所有正确的所有者,因此尽管系统目前可能处于半稳定状态,但重新引导可能会非常失败。

正如评论所指出的,虽然可以通过允许通过chmod 777进行完全读写来绕过此问题,但这只是以一种不安全的方式打开系统。通过丢失权限集,您会增加另一层问题。

正确的方法是修复/var层次结构中所有目录的所有权。与已知的良好系统进行比较可能会提供正确的所有者。但是对于数据库,上述内容将再次提供访问权限。