sqlstate[hy000]:常规错误:13无法获取'./pics'的stat(错误代码:13-权限被拒绝)

eqzww0vc  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(815)

我当时正在我的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)

我不知道我的数据库怎么会被这样删除。
有人能帮我吗?

oknwwptz

oknwwptz1#

如果您在上更新了用户 /var ,然后 /var/lib/mysql 目录属于错误的用户,并且 mysqld 进程无法写入该目录(也可能无法读取)。
您可以通过以下方式还原数据库的权限:

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

(注意:假设使用默认进程所有者和默认目录位置)
然后我可能会重新启动mysql进程。
但是,您可能有多个其他问题,包括 /var/run 没有所有正确的所有者,因此虽然系统目前可能处于半稳定状态,但重新启动可能会失败得很严重。
然而,正如评论所指出的,通过允许通过 chmod 777 ,这只是以一种不安全的方式打开系统。如果丢失权限集,则会增加另一层问题。
正确的方法是固定目录中所有目录的所有权 /var 等级制度。可能与一个已知的好的系统进行比较会提供正确的所有者。但对于数据库,上面的命令将再次提供访问权限。

相关问题