Linux/Debian 服务器升级以及 Apache 和 MySQL 服务器安装

Linux/Debian 服务器升级以及 Apache 和 MySQL 服务器安装

情况描述

我有一台Linux服务器:

Distributor ID: Debian 
Description:    Debian GNU/Linux 5.0.10 (lenny) 
Release:    5.0.10 Codename:    lenny 

最近,MySQL 服务器在尝试建立与数据库的连接时有点慢,因此我尝试重新启动服务,但service mysql restart随后发生了两件事:

  1. 服务停止并且拒绝再次重新启动
  2. 显示错误:

一旦我尝试服务 mysql(启动或重新启动甚至停止)

error:tail: 
invalid option -- n
Try `tail --help' for more information.
tail: invalid option -- n
Try `tail --help' for more information.

mysql start给出:

ERROR 2002 Can't connect to local Mysql server through socket
/var/run/mysqld/mysqld.sock (2)

但是这个文件根本不存在于这个目录中。我想也许这个文件位于我的服务器的其他地方,只是my.cnf包含错误的路径,这就是调用失败的原因。我试图找到文件的正确路径:mysqld.sock并在文件中编辑所需的行my.cnf,但使用 find 命令我发现没有这样的文件mysqld.sockmysql.sock在所有服务器目录中都没有。

下一步,我尝试从头开始重新安装 MySQL 服务器,但发生的情况是旧版本的 MySQL 和 Apache 被成功删除,安装过程中断且无法继续。

php -v显示下一个输出:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/mysql.so' - /usr/lib/php5/20060613/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/mysqli.so' - /usr/lib/php5/20060613/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/pdo_mysql.so' - /usr/lib/php5/20060613/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP 5.2.6-1+lenny16 with Suhosin-Patch 0.9.6.2 (cli) (built: Feb  3 2012 08:19:55)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with the ionCube PHP Loader v3.1.28, Copyright (c) 2002-2007, by ionCube Ltd.

我现在想做的事情是:

我对位于下面的网站进行了备份/var/www/vhosts,我想将系统升级到 Wheezy 7.0,然后安装 Apache 和 MySQL,在这种情况下我该怎么办,我甚至不知道我是否还拥有我的数据库,或者它们已经丢失了。

需要采取什么步骤来解决这个问题?

之后必须重新配置虚拟主机才能再次启用我的网站。

我迷路了,有什么帮助吗?

编辑:

要在 Debian Lenny 上安装 mysql,我尝试了这个:

aptitude -t lenny-backports install mysql-server-5.1 mysql-client-5.1 mysql-common

在安装过程中,错误日志文件中显示连接测试失败:

mysql: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory

答案1

您的服务器已被入侵(根据前面的问题,并且也通过tail被替换的二进制文件的奇怪行为得到了证实)。

因此,您必须重新安装所有内容;任何命令都不可信任,它们可能无法正常工作。您应该使用新服务器并从存储库中重新安装 Linux 和其余堆栈(mysql、php 等),或者复制数据和代码,清除当前服务器并重新安装。

在此之前,您需要尝试找出他们利用的漏洞在哪里,以免再次发生这种情况。

您还希望先在服务器上进行测试或调查(询问、搜索)堆栈(尤其是 PHP)的较新(当前)版本是否存在向后不兼容的问题。

答案2

我发现了一些问题。你说你这样做了:

sudo service mysql restart

但是您是以 root 或超级用户身份登录的吗?

此外,这个错误完全没有意义:

error:tail: 
invalid option -- n
Try `tail --help' for more information.
tail: invalid option -- n
Try `tail --help' for more information.

那么,您是否正在尝试跟踪 MySQL 日志?也许输入了错误的 tail 命令?我建议您改为执行以下操作:

sudo tail -f -n 200 /var/log/mysql/mysql.log

编辑:在您上面的评论中,您说:

$ sudo apt-get remove mysql-server mysql-client mysql-common 此命令出错,并且程序停止...之后服务(mysql 或 apache2)状态、启动或任何指示没有 mysql 服务器或 apache

所以你运行了sudo apt-get remove mysql-server mysql-client mysql-common?你从系统中彻底删除了 MySQL。如果你正在升级,为什么要这么做?升级是一个就地过程。

我建议您检查此目录中是否有任何内容,该目录是存储实际 MySQL 二进制文件的位置:

ls -la /var/lib/mysql/

如果仍有内容存在,我会执行以下操作来保留该内容:

sudo mv /var/lib/mysql/ /var/lib/mysql_BACKUP/

然后像这样重新安装 MySQL:

sudo apt-get install mysql-server mysql-client mysql-common

重新安装后,像这样停止 MySQL 服务器:

sudo service mysql stop

然后像这样对二进制数据库的目录进行混洗,以将旧的数据库重新放到位:

sudo mv /var/lib/mysql/ /var/lib/mysql_FRESH_INSTALL_BACKUP/

sudo mv /var/lib/mysql_BACKUP/ /var/lib/mysql/

相关内容