Если вы обновили пользователя на /var
, то каталог /var/lib/mysql
принадлежит не тому пользователю, и процесс mysqld
не может записать в этот каталог (и, возможно, не прочитать его).
Вероятно, вы можете восстановить разрешения для базы данных:
cd /var/lib
chown -R mysql:mysql mysql
(Примечание: при условии использования владельца процесса по умолчанию и расположения каталогов по умолчанию)
Я бы, вероятно, перезапустил процесс mysql.
Однако у вас может быть несколько других проблем, включая /var/run
, не имеющих всех правильных владельцев, и, таким образом, в то время как система может быть полустабильной в данный момент, перезагрузка может очень сильно потерпеть неудачу.
Хотя, как отмечается в комментарии, можно обойти проблему, разрешив полное чтение-запись через chmod 777
, что просто открывает систему небезопасным способом.Потеряв наборы разрешений, вы бы добавили еще один уровень проблем.
Правильный подход заключается в том, чтобы исправить владение всеми каталогами в иерархии /var
.Возможно, сравнение с заведомо хорошей системой даст правильных владельцев.Но для базы данных вышеупомянутое снова даст доступ.