сломанное обновление mariadb debian

У меня есть debian 8.0 с backports и настроены официальные репозитории mariadb. У меня уже был mariadb-server-10.1, и он пытался перейти на другую версию. Обновление mariadb не удалось, и теперь оно не работает. Я больше не могу использовать owncloud. Другой сервис, использующий mysql, - это wordpress, но он работает без проблем.

Когда я хочу обновить mariadb: я получил это сообщение:

Job for mariadb.service failed because the control process exited with error code.
See "systemctl status mariadb.service" and "journalctl -xe" for details.
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mariadb-server-10.1 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mariadb-server:
 mariadb-server depends on mariadb-server-10.1 (= 10.1.22+maria-1~jessie); however:
  Package mariadb-server-10.1 is not configured yet.

dpkg: error processing package mariadb-server (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 mariadb-server-10.1
 mariadb-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

systemctl status mariadb.service дает:

Apr 22 14:01:56 ctl mysqld[10359]: 2017-04-22 14:01:56 139845057845504 [ERROR] mysqld: Got error 'Could not get an exclusive lock; file is probably in use by another process' when trying to use aria control file '/var/lib/mysql/aria_log_control'
Apr 22 14:01:56 ctl mysqld[10359]: 2017-04-22 14:01:56 139845057845504 [ERROR] Plugin 'Aria' init function returned error.
Apr 22 14:01:56 ctl mysqld[10359]: 2017-04-22 14:01:56 139845057845504 [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed.
Apr 22 14:01:56 ctl mysqld[10359]: 2017-04-22 14:01:56 139845057845504 [Note] Plugin 'FEEDBACK' is disabled.
Apr 22 14:01:56 ctl mysqld[10359]: 2017-04-22 14:01:56 139845057845504 [ERROR] Unknown/unsupported storage engine: InnoDB
Apr 22 14:01:56 ctl mysqld[10359]: 2017-04-22 14:01:56 139845057845504 [ERROR] Aborting
Apr 22 14:01:57 ctl systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Apr 22 14:01:57 ctl systemd[1]: Failed to start MariaDB database server.
Apr 22 14:01:57 ctl systemd[1]: mariadb.service: Unit entered failed state.
Apr 22 14:01:57 ctl systemd[1]: mariadb.service: Failed with result 'exit-code'.

an journalctl - xe дает:

Apr 22 15:05:25 ctl sshd[10944]: Received disconnect from 61.177.172.60: 11:  [preauth]
Apr 22 15:05:25 ctl sshd[10944]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=61.177.172.60  user=root
Apr 22 15:06:12 ctl sshd[10946]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=61.177.172.60  user
Apr 22 15:06:14 ctl sshd[10946]: Failed password for root from 61.177.172.60 port 51871 ssh2
Apr 22 15:06:17 ctl sshd[10946]: Failed password for root from 61.177.172.60 port 51871 ssh2
Apr 22 15:06:20 ctl sshd[10946]: Failed password for root from 61.177.172.60 port 51871 ssh2
Apr 22 15:06:21 ctl sshd[10946]: Received disconnect from 61.177.172.60: 11:  [preauth]

Вывод ps aux | grep mysql:

tchokap+ 11212 0.0 0.0 12728 2208 pts/0 S+ 15:31 0:00 
grep mysql root 16860 0.0 0.0 40540 3196 ? S Feb01 0:00 
sudo mysqld --binlog_format=MIXED mysql 16861 0.0 8.2 1064928 333048 ? Sl Feb01 103:34 
mysqld --binlog_format=MIXED

Я думаю, что ctl журнала относится к другой проблеме, которую мой сервер не может разрешить ctl хоста.

0
задан 19 May 2017 в 20:16
2 ответа

Похоже, вы по какой-то причине запустили mariadb вручную с помощью команды sudo mysqld --binlog_format = MIXED 1 февраля.

Вызов mysqld напрямую вместо запуск его через систему инициализации (в данном случае systemd) - вот почему сейчас все в странном состоянии.

Процесс обновления предполагал, что он может попросить систему инициализации остановить mariadb, а затем выполнить обновление,но у вас есть экземпляр mysqld , о котором система инициализации ничего не знает.

Следовательно, mysqld все еще работает, несмотря на то, что статус «не работает».

Вам следует убедитесь, что параметр, указанный вами в командной строке ( binlog_format = MIXED ), находится в файле конфигурации ( my.cnf ), остановите запущенный вручную mysqld и затем попробуйте еще раз.

2
ответ дан 4 December 2019 в 13:33

В моем случае был процесс mysqld_safe , который перезапускал mysqld каждый раз, когда я его убивал.

Выполните ps aux | grep mysqld

Возьмите PID каждого процесса (второй столбец)

Запустите kill -s 9 PID для каждого процесса (вы можете написать более одного PID, разделяя их одним пробелом.

После этого попробуйте еще раз запустить apt-get upgrade или apt-get dist-upgrade

0
ответ дан 4 December 2019 в 13:33

Теги

Похожие вопросы