Ситуация. Ставлю из репозитория MySQL-сервер (5.0.32). Дистрибутив Debian Etch. В процессе установки выдается ошибка, что не удалось завершить настройку пакетов mysql-server и mysql-server-5.0.
apt-get install mysql-server
Выдаются следующие ошибки:
Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: не удалось обработать параметр mysql-server-5.0 (--configure):
подпроцесс post-installation script возвратил код ошибки 1
dpkg: зависимости пакетов не позволяют настроить пакет mysql-server:
mysql-server зависит от mysql-server-5.0, однако:
Пакет mysql-server-5.0 пока не настроен.
dpkg: не удалось обработать параметр mysql-server (--configure):
проблемы зависимостей -- оставляем не настроенным
При обработке следующих пакетов произошли ошибки:
mysql-server-5.0
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
Много баг-репортов по этому поводу, но ни одного по делу. Причиной ошибки может быть что угодно. Ни одно из найденных решений (выключение innoDB и т.д.) не помогло.
Логи /var/log/mysql.log и /var/log/mysql.err пусты.
В /var/log/syslog проскакивают такие ни о чем не говорящие ошибки:
Dec 23 10:13:02 km22118 mysqld_safe[25987]: The latest information about MySQL i
s available on the web at
Dec 23 10:13:02 km22118 mysqld_safe[25987]: http://www.mysql.com
Dec 23 10:13:02 km22118 mysqld_safe[25987]: Support MySQL by buying support/lice
nses at http://shop.mysql.com
Dec 23 10:13:02 km22118 mysqld_safe[26033]: ERROR: 1046 No database selected
Dec 23 10:13:02 km22118 mysqld_safe[26033]: 071223 10:13:02 [ERROR] Aborting
Dec 23 10:13:02 km22118 mysqld_safe[26033]:
Dec 23 10:13:02 km22118 mysqld_safe[26033]: 071223 10:13:02 [Note] /usr/sbin/mys
qld: Shutdown complete
Dec 23 10:13:02 km22118 mysqld_safe[26033]:
Dec 23 10:13:02 km22118 mysqld_safe[26117]: started
Dec 23 10:13:02 km22118 mysqld[26123]: 071223 10:13:02 InnoDB: Started; log seq
uence number 0 43655
Dec 23 10:13:02 km22118 mysqld[26123]: 071223 10:13:02 [ERROR] Can't start serve
r: Bind on TCP/IP port: Cannot assign requested address
Dec 23 10:13:02 km22118 mysqld[26123]: 071223 10:13:02 [ERROR] Do you already ha
ve another mysqld server running on port: 3306 ?
Dec 23 10:13:02 km22118 mysqld[26123]: 071223 10:13:02 [ERROR] Aborting
Dec 23 10:13:02 km22118 mysqld[26123]:
Dec 23 10:13:02 km22118 mysqld[26123]: 071223 10:13:02 InnoDB: Starting shutd
Порт никто не занимает. Для диагностики можно выполнить команды (примеры вывода консоли и логов, а также команды ниже взяты из статьи на форуме opennet.ru):
dpkg -l 'mysql*'
netstat -apn|grep 3306
ps ax| grep mysql
ls -ld /var/lib/mysqld
И после всего этого
/etc/init.d/mysql stop
/etc/init.d/mysql start
netstat -apn|grep 3306
ps ax| grep mysql
ls -ld /var/lib/mysqld
И после всего этого
/etc/init.d/mysql stop
/etc/init.d/mysql start
Ну так вот. если ничего не помогает, если порт свободен, а директории имеют правильных владельцев (согласно совету из приведенной выше статьи, стоит проверить владельца директории /var/run/mysqld/ и выставить, при необходимости, mysql:mysql), то просто проверьте файл /etc/network/interfaces на наличие записи о lo интерфейсе.
auto lo
iface lo inet loopback
Если такой (или подобной) записи нет, то MySQL не сможет запуститься. также можно воспользоваться командой ifconfig (без переметров). В ее выводе должно быть упоминание об интерфейсе lo.
Если же ничего этого нет, то добавляем указанные две строки кода и перегружаем систему. MySQL в моем случае запустился уже при загрузке.
1 комментарий:
Спасибо! Я больше суток бился и не мог найти решения.
Отправить комментарий