正如我所说,我的服务器被破坏了。不是全部,只是部分。
我有一台运行 Ubuntu 16.04 的无头服务器,可以通过 SSH(以及通过 ssh 端口的 FTP)访问它。在服务器上,我有一个在屏幕上运行的经过修改的 minecraft 服务器(运行良好),以及一个位于 /var/www(开发环境)中的 Web 服务器。所述 Web 服务器使用 MySQL 作为数据库。
现在,昨天我开始在其上安装 ownCloud,它与 MariaDB 有关,我甚至去网页创建管理员用户,它只是要求我登录。尝试了一些方法,但没有用。所以我尝试删除它,并且相当(但不完全)确定我删除了大部分内容。
然后我尝试对 NextCloud 进行同样的操作,进入网页以创建管理员用户,但页面为空(HTML 错误 500/503),所以是 PHP 错误 IIRC。尝试了各种方法后,我也受够了,再次尝试将其删除。
mysql
但是,在上述过程中的某个时候,我失去了对 MYSQL 数据库的访问权限。更具体地说,当我使用命令或网页登录时www.domain.com/phpmyadmin
,出现此错误:
#2002 - No such file or directory<br />The server is not responding (or the local server's socket is not correctly configured).
我删除了、删除了 --purge 了、清除了等等,删除了 mysql*、mysql-client mysql-server mysql-common 的几个变体,完成了自动删除、自动清理、apt-get -f 安装,删除了更多,重新安装了 mysql-server,在这里我几乎可以肯定备份 minecraft 服务器和 web 服务器并重新干净地安装 ubuntu 会更容易。
唯一的问题是我需要物理访问,而我目前没有这样的机会(我正在我父母家度过圣诞假期),但是我住在一个小时的路程之外,所以花几个小时来回是可以的。
主要问题:如何才能让我的服务器再次完全运行,并使 MySQL 正常运行,最好在其上安装 NextCloud?
如果您需要更多信息,请告诉我。
答案1
因此经过聊天讨论之后...
第一个问题是/var/run/mysql
不存在。这解释了错误消息
#2002 - No such file or directory
The server is not responding (or the local server's socket is not correctly configured).
因为这个插座位于/var/run/mysql/
。
下一个问题是用户表已损坏,因此当以sudo -u mysql mysqld --skip-grant-tables
无需身份验证的方式启动时,mysql 不想更新该user
表:
ERROR 1728 (HY000): Cannot load from mysql.user. The table is probably corrupted
由于用户已备份数据库内容,此时最简单的选择是使用 删除所有数据库文件,然后sudo rm -Rf /var/lib/mysql/
重新安装 mysql-server。这确保 mysql 在安装时重新创建用户表。