Назад | Перейти на главную страницу

Обновление сервера 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 с тех пор произошло 2 вещи:

  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.sock или mysql.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, что я могу сделать в таком случае, я даже не знаю, остались ли у меня базы данных или они уже потеряны.

Какие шаги необходимы, чтобы это исправить?

После этого придется перенастроить виртуальный хост, чтобы снова включить мои сайты.

Я потерял помощь?

РЕДАКТИРОВАТЬ:

Чтобы установить mysql на debian Lenny, я попробовал следующее:

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

Ваш сервер был скомпрометирован (согласно предыдущему вопросу, а также каким-то образом подтвержден странным поведением двоичных файлов, таких как tail или другие, которые были заменены).

Так что вам нужно сделать чистую переустановку всего; никаким командам нельзя доверять, и они могут работать некорректно, как кажется. Вам следует использовать новый сервер и установить Linux и остальную часть стека (mysql, php и т. Д.) С нуля из репозиториев или скопировать свои данные и код, стереть текущий сервер и переустановить.

Перед этим вы хотите попытаться выяснить, где была уязвимость, которую они использовали, чтобы это больше не повторилось.

Также вы хотите сначала протестировать на сервере или исследовать (спросить, поискать), есть ли в новых (текущих) версиях стека (особенно PHP) проблемы с обратной несовместимостью.

Я вижу несколько проблем. Вы говорите, что сделали это:

sudo service mysql restart

Но вы вошли в систему как root или суперпользователь?

Кроме того, эта ошибка не имеет 100% смысла:

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

Так вы пытаетесь следить за журналом MySQL? А возможно, неправильно ввел хвостовую команду? Я бы рекомендовал сделать это вместо этого:

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/