2017-09-14 101 views
1

希望有人能幫助我:狀態:「MariaDB的服務器停機」

我有我的服務器上運行的許多網站和我使用MariaDB的。 當我這樣做:

​​

我得到:

Job for mariadb.service failed because the control process exited with 
error code. See "systemctl status mariadb.service" and "journalctl -xe" 
for details. 

systemctl狀態mariadb.service

mariadb.service - MariaDB database server 

    Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) 

    Drop-In: /etc/systemd/system/mariadb.service.d 
      └─migrated-from-my.cnf-settings.conf 
    Active: failed (Result: exit-code) since Thu 2017-09-14 03:16:51 UTC; 1min 6s ago 
    Process: 13247 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code= 
    Process: 13086 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/gale 
    Process: 13070 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, s 
    Process: 13033 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, st 
    Main PID: 13247 (code=exited, status=1/FAILURE) 
    Status: "MariaDB server is down" 
    CGroup: /system.slice/mariadb.service 
      └─3803 /usr/sbin/mysqld 

須藤journalctl -xe

Sep 14 03:35:51 ubuntu systemd[1]: Failed to start MariaDB database server. 
    -- Subject: Unit mariadb.service has failed 
    -- Defined-By: systemd 
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel 
    -- 
    -- Unit mariadb.service has failed. 
    -- 
    -- The result is failed. 
    Sep 14 03:35:51 ubuntu systemd[1]: mariadb.service: Unit entered failed state. 
    Sep 14 03:35:51 ubuntu sudo[13566]: pam_unix(sudo:session): session closed for user root 
    Sep 14 03:35:51 ubuntu systemd[1]: mariadb.service: Failed with result 'exit-code'. 
    Sep 14 03:35:52 ubuntu sshd[13753]: Failed password for root from 123.183.209.136 port 38816 ssh2 
    Sep 14 03:35:52 ubuntu sshd[13753]: Received disconnect from 123.183.209.136 port 38816:11: [preauth] 
    Sep 14 03:35:52 ubuntu sshd[13753]: Disconnected from 123.183.209.136 port 38816 [preauth] 
    Sep 14 03:35:52 ubuntu sshd[13753]: PAM 1 more authentication failure; logname= uid=0 euid=0 tty=ssh ruser 
    Sep 14 03:36:34 ubuntu sshd[13756]: Connection closed by 123.183.209.136 port 60477 [preauth] 
    Sep 14 03:36:36 ubuntu postfix/pickup[12161]: 703AA5C0C5: uid=0 from=<root> 
    Sep 14 03:36:36 ubuntu postfix/cleanup[12162]: 703AA5C0C5: message-id=<[email protected] 
    Sep 14 03:36:36 ubuntu postfix/cleanup[12162]: warning: 703AA5C0C5: write queue file: No space left on dev 
    Sep 14 03:36:36 ubuntu postfix/pickup[12161]: warning: maildrop/5152F5C0C4: error writing 703AA5C0C5: queu 
    Sep 14 03:37:17 ubuntu sshd[13760]: Received disconnect from 123.183.209.136 port 25567:11: [preauth] 
    Sep 14 03:37:17 ubuntu sshd[13760]: Disconnected from 123.183.209.136 port 25567 [preauth] 
    Sep 14 03:37:36 ubuntu postfix/pickup[12161]: 7764B5C0C5: uid=0 from=<root> 
    Sep 14 03:37:36 ubuntu postfix/cleanup[12162]: 7764B5C0C5: message-id=<[email protected] 
    Sep 14 03:37:36 ubuntu postfix/cleanup[12162]: warning: 7764B5C0C5: write queue file: No space left on dev 
    Sep 14 03:37:36 ubuntu postfix/pickup[12161]: warning: maildrop/5152F5C0C4: error writing 7764B5C0C5: queu 
    Sep 14 03:37:47 ubuntu sudo[13765]:  bob : TTY=pts/0 ; PWD=/home/bob ; USER=root ; COMMAND=/bin/journa 
    Sep 14 03:37:47 ubuntu sudo[13765]: pam_unix(sudo:session): session opened for user root by bob(uid=0) 
    lines 1238-1265/1265 (END) 

我真的不想失去我的分貝。 接下來應該做什麼?

非常感謝

這就是DF給我:

Filesystem  1K-blocks  Used Available Use% Mounted on 
    /dev/root  49362256 46854648   0 100%/
    devtmpfs   2019828  0 2019828 0% /dev 
    tmpfs   2021768  0 2021768 0% /dev/shm 
    tmpfs   2021768 17968 2003800 1% /run 
    tmpfs    5120  0  5120 0% /run/lock 
    tmpfs   2021768  0 2021768 0% /sys/fs/cgroup 
    tmpfs    404356  0 404356 0% /run/user/1000 
    tmpfs    404356  0 404356 0% /run/user/0 
+0

您是否注意到來自postfix的警告:設備上沒有剩餘空間?如果postfix使用與mariadb相同的磁盤卷,那可以解釋失敗:磁盤已滿。使用'df'確認。 –

+0

投票將此問題移至dba.stackexchange.com。堆棧溢出用於編碼問題,這個問題似乎並不是一個編碼問題。 –

+0

哦,非常感謝您找到根本原因。 – Henri

回答

1

見第一個文件系統(的/ dev /根)爲100%滿!除了tmpfs卷之外,還沒有安裝其他卷。所以mariadb試圖在啓動時向磁盤寫入內容,但不能,所以它放棄並關閉。

你必須弄清楚什麼是填滿你的磁盤,並修剪你可以。例如,作爲一個猜測,我首先查看http服務器日誌,因爲你說你在這個服務器上託管了很多站點。我看到許多服務器通過讓httpd將所有內容記錄幾個月,幾個月來填滿磁盤空間。

將來,您可能希望爲該服務器配置多個磁盤卷,因此如果一個卷填滿,它不會干擾其他卷。

還考慮自動化日誌旋轉。

如果磁盤空間使用的罪魁禍首不是日誌,而實際上是mariadb數據目錄,那麼您可能需要立即獲取額外的磁盤卷,並將mariadb內容移動到它,然後才能使您的網站重新聯機。

除非您可以在服務器的其他地方找到一些其他地方的東西,您可以在短時間內刪除並留出足夠的空間。

+0

太棒了!一定要配置自動日誌旋轉。以下是一個示例博客文章:http://www.thegeekstuff.com/2011/07/rotate-apache-logs/文件的位置可能會有所不同,具體取決於您使用的是哪種Linux版本。 –

+0

偶爾運行'df',這樣你就知道你是否已經接近完成磁盤了! –