Не вдається встановити mysql-сервер в Ubuntu


17

Я не в змозі встановити mysql-сервер на свою серверну машину ubuntu 9.10. При використанні apt-get install mysql-сервера вихід:

# apt-get install mysql-server

Reading package lists... Done
Building dependency tree
Reading state information... Done

mysql-server is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 120 not upgraded.
2 not fully installed or removed.

After this operation, 0B of additional disk space will be used.
Setting up mysql-server-5.1 (5.1.37-1ubuntu5.4) ...
* Stopping MySQL database server 
    Mysqld    [ OK ]
* Starting MySQL database server 
mysqld [fail]

invoke-rc.d: initscript mysql, action "start" failed.

dpkg: error processing mysql-server-5.1 (--configure):

subprocess installed post-installation script returned error exit status 1

dpkg: dependency problems prevent configuration of mysql-server:

mysql-server depends on mysql-server-5.1; however:
Package mysql-server-5.1 is not configured yet.

dpkg: error processing mysql-server (--configure):
dependency problems - leaving unconfigured

No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
mysql-server-5.1
mysql-server  
E: Sub-process /usr/bin/dpkg returned an error code (1)

Я не можу знайти задовільне рішення цієї проблеми де завгодно. Багато сайтів говорять про її перевстановлення, але це не працює.

Будь-яка допомога буде вдячна.

Дякую..


Ви спробували використовувати здатність? здатність встановити mysql-server-5.1
Chris_O

так ... спробував це, та сама помилка.
Аріхант

Були дуже схожі симптоми встановлення mysql-сервера, коли порт 3306 був прийнятий тунелем SSH. Зауважив час, не сподівався, що щось подібне порушить встановлення пакету ...
famgarkin

Відповіді:


26

Це працювало для мене:

apt-get purge mysql-server
apt-get purge mysql-common
rm -rf /var/log/mysql
rm -rf /var/log/mysql.*
rm -rf /var/lib/mysql
rm -rf /etc/mysql
# and then:
apt-get install mysql-server --fix-missing --fix-broken

Хоча це також прибере всі залежності від mysql.

І також буде видалено існуючі бази даних, спершу створюйте резервну копію!

Джерело .


+1 Працював чудово і для мене!
Кріс Маккаулі

Працював над Ubuntu 12.04 LTS та MySQL 5.5.34.
Хрусткий

+1 працював і на мене. Я спробував apt-get purge mysql-сервер, але не apt-get purge mysql-звичайний і не працював. Спасибі.
Девіде Вернізці

2
ПОПЕРЕДЖЕННЯ. Це видалення всіх ваших баз даних, спочатку резервне копіювання!
Panthro

1
Це працює, дякую. Коли це не працює, я не знаю, чому це не працює. Коли це працює, я навіть не знаю, чому він працює.
Qian Chen

5

Кілька пропозицій:

  • Завжди очевидно, переконайтеся, що ви працюєте як root.
  • Спробуйте зробити apt-get remove mysql .
  • Потім спробуйте зробити apt-get purge (можливо, вам знадобиться apt-get purge mysql , іноді здатність може бути прискіпливою).
  • Завжди перевіряйте свої журнали. Вони, швидше за все, будуть відповідати майже на все.
  • Також спробуйте зробити кеш apt-get clear and apt-get clean . Потім спробуйте встановити ще раз.

Або спробуйте це рішення, яке я знайшов у google:

Пакет mysql-server-5.1 намагається запустити MySQL після встановлення пакета, який не вдався. Перше, що вам потрібно зробити - це закінчити процес установки чисто. Існує кілька способів зробити це:

або виправте конфігурацію MySQL, перевірте, чи працює /etc/init.d/mysql-server, і запустіть dpkg --configure -a, щоб закінчити процес установки; або відредагуйте /var/lib/dpkg/info/mysql-server-5.1.postinst і видаліть частину, де він запускає сервер (можливо, викликає /etc/init.d/mysql-server start або так далі), а потім запустіть dpkg - configure -a, щоб закінчити процес встановлення, а потім виправити конфігурацію.


1
Погодьтесь із порадою очистити встановлення та повторити спробу
jamespo

що фарба працює !!
Аріхант

2

Не вдалося запустити MySQL. Причину цього слід увійти в /var/log/mysql.log (чи це все-таки /var/lib/mysql/.err?). Чи можете ви вставити висновок звідти, і, можливо, ми зможемо з’ясувати, що пішло не так.


/var/log/mysql.err та /var/log/mysql.log обидва файли порожні.
Аріхант

Далі йде вихід /usr/local/mysql/clc.err file.clc - ім'я хоста 20:50:31 mysqld_safe Запуск демона mysqld з базами даних з / var / lib / mysql 110402 20:50:31 [Попередження] Не можна створити тестовий файл /var/lib/mysql/clc.lower-test 110402 20:50:31 [Попередження] Не вдається створити тестовий файл /var/lib/mysql/clc.lower-test 110402 20:50:31 [ПОМИЛКА ] Фатальна помилка: неможливо змінити запуск як "mysql" користувача; Перевірте, чи існує користувач! 110402 20:50:31 [ПОМИЛКА] Аборт 110402 20:50:31 [Примітка] / usr / sbin / mysqld: завершення завершено 110402 20:50:31 mysqld_safe mysqld з pid-файлу /var/lib/mysql/clc.pid завершено
Аріхант

Можливо, 1) користувача mysql не існує, або 2) / var / lib / mysql не належить користувачеві mysql? Якщо 2), не забудьте подавити -R.
Bittrance

це / etc / passwd запис файлу: 'mysql: x: 118: 128: MySQL Server ,,,: / var / lib / mysql: / bin / false'. Я вже зробив chown -R mysql / var / lib / mysql ..
Arihant

Це вихід: apt-get purge mysql-server `* Зупинка сервера баз даних MySQL mysqld * Запуск сервера баз даних MySQL mysqld [fail] invoke-rc.d: initscript mysql, помилка дії" start ". dpkg: обробка помилок mysql-server-5.1 (--configure): встановлений підпроцес-скрипт після встановлення повернув статус виходу з помилки 1 E: Підпроцес / usr / bin / dpkg повернув код помилки (1) ` Я не можу зрозуміти, чому це він запускає сервіс mysql-сервер, коли я його видаляю.
Аріхант

1

Відкрийте іншу консоль, введіть ps aux | grep mys

І вбийте все, що виглядає так:

egrep -qi ... /etc/mysql/

Це має дати можливість завершити встановлення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.