У меня есть 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'.
ан 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 хоста.
Похоже, вы по какой-то причине запустили mariadb вручную с помощью команды sudo mysqld --binlog_format=MIXED
1 февраля.
Вызов mysqld напрямую вместо его запуска через систему инициализации (в данном случае systemd) - вот почему сейчас все в странном состоянии.
Процесс обновления предполагал, что он может попросить систему инициализации остановить mariadb, а затем выполнить обновление, но у вас есть mysqld
экземпляр, о котором система инициализации ничего не знает.
Следовательно, почему до сих пор mysqld
работает, несмотря на статус "не работает".
Вы должны убедиться, что параметр, указанный в командной строке (binlog_format=MIXED
) находится в файле конфигурации (my.cnf
), остановите запуск вручную mysqld
а затем попробуйте еще раз.
В моем случае был mysqld_safe
процесс, который перезапускал mysqld каждый раз, когда я его убивал.
Сделать ps aux | grep mysqld
Возьмите PID каждого процесса (второй столбец)
Запустить kill -s 9 PID
для каждого процесса (вы можете написать более одного PID, разделяя их одним пробелом.
После этого попробуйте в другой раз запустить apt-get upgrade
или apt-get dist-upgrade