Mariadb

損壞的 mariadb debian 更新

  • June 28, 2017

我有帶反向埠的 debian 8.0,並且設置了官方 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 的另一個問題。

無論出於何種原因,您似乎sudo mysqld --binlog_format=MIXED在 2 月 1 日使用該命令手動啟動了 mariadb。

直接呼叫 mysqld 而不是通過 init 系統(在本例中為 systemd)啟動它是現在事情處於奇怪狀態的原因。

升級過程假設它可以要求 init 系統停止 mariadb 然後進行升級,但是您有一個mysqldinit 系統一無所知的實例。

mysqld因此,儘管狀態為“down”,但為什麼仍然在執行。

您應該確保您在命令行 ( binlog_format=MIXED) 中提供的設置在配置文件 ( my.cnf) 中,停止手動啟動mysqld,然後重試。

引用自:https://serverfault.com/questions/845940