MySQL не запускается, закончилось место на диске в / var / log

Короче говоря, я обнаружил expire_log_days = 3 немного поздно. Мой каталог / var / log полностью заполнен старыми файлами mysql-bin, и при поиске в google / SE настоятельно не рекомендуется удалять их вручную.

Проблема в том, что я не могу войти в оболочку MySQL, чтобы ОЧИСТИТЬ их, и не могу запустить службу с новым параметром конфигурации expire_log_days .

Я удалил несколько старых журналов, не относящихся к MySQL (около 500 МБ), но мне все еще не удается запустить mysql.

Есть ли из этого менее болезненный выход?

[root@box mariadb]# systemctl restart mariadb.service
Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.
[root@box mariadb]# journalctl -xe
-- Subject: Unit session-203.scope has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit session-203.scope has begun starting up.
Dec 07 14:01:35 my.sql.box systemd[1]: Starting MariaDB database server...
-- Subject: Unit mariadb.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mariadb.service has begun starting up.
Dec 07 14:01:36 my.sql.box mysqld_safe[23884]: 161207 14:01:36 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Dec 07 14:01:36 my.sql.box mysqld_safe[23884]: 161207 14:01:36 mysqld_safe Starting mysqld daemon with databases from /data/db/mysql
Dec 07 14:01:36 my.sql.box mysqld_safe[23884]: 161207 14:01:36 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended
Dec 07 14:01:37 my.sql.box systemd[1]: mariadb.service: control process exited, code=exited status=1
Dec 07 14:01:37 my.sql.box 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.
Dec 07 14:01:37 my.sql.box systemd[1]: Unit mariadb.service entered failed state.
Dec 07 14:01:37 my.sql.box systemd[1]: mariadb.service failed.
Dec 07 14:01:37 my.sql.box audispd[4973]: node=my.sql.box type=SERVICE_START msg=audit(1481137297.301:1657): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg=
Dec 07 14:01:37 my.sql.box polkitd[4981]: Unregistered Authentication Agent for unix-process:23850:300226 (system bus name :1.460, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_U

[root@box log]# systemctl status mariadb.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2016-12-07 14:09:17 EST; 7s ago
  Process: 24840 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=1/FAILURE)
  Process: 24838 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=0/SUCCESS)
  Process: 24810 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
 Main PID: 24838 (code=exited, status=0/SUCCESS)

Dec 07 14:09:12 my.sql.box systemd[1]: Starting MariaDB database server...
Dec 07 14:09:13 my.sql.box mysqld_safe[24838]: 161207 14:09:13 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Dec 07 14:09:13 my.sql.box mysqld_safe[24838]: 161207 14:09:13 mysqld_safe Starting mysqld daemon with databases from /data/db/mysql
Dec 07 14:09:16 my.sql.box mysqld_safe[24838]: 161207 14:09:16 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended
Dec 07 14:09:17 my.sql.box systemd[1]: mariadb.service: control process exited, code=exited status=1
Dec 07 14:09:17 my.sql.box systemd[1]: Failed to start MariaDB database server.
Dec 07 14:09:17 my.sql.box systemd[1]: Unit mariadb.service entered failed state.
Dec 07 14:09:17 my.sql.box systemd[1]: mariadb.service failed.
[root@box log]# 
0
задан 7 December 2016 в 21:18
2 ответа

Предположим, что большую часть дискового пространства занимают двоичные журналы. Все, что вам нужно сделать, это переместить хотя бы один двоичный журнал в отдельный раздел с дополнительным дисковым пространством. Только переместить не удалять . Затем выполните ОЧИСТИТЬ БИНАРНЫЕ ЖУРНАЛЫ В 'binlog.file'; в консоли mysql и выберите двоичный журнал старше, чем файл журнала, который вы переместили на предыдущем шаге. Это должно освободить больше места на диске. Затем переместите двоичный файл журнала в его надлежащее место и при необходимости очистите другие двоичные журналы.

1
ответ дан 4 December 2019 в 16:24

Вы должны временно отключить эти журналы, комментируя все expire_log_days или log_bin в файле my.cnf, чтобы отключить ведение журнала сервера, а затем вручную переместить / удалить двоичные файлы / var / log.

Затем запустите сервер, снова включите закомментированные флаги и перезапустите MariaDB .

0
ответ дан 4 December 2019 в 16:24

Теги

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