Сервер MariaDB не работает, но я все еще могу войти с помощью клиента mysql (?) - PullRequest
0 голосов
/ 13 февраля 2019

MariaDB 10.3.8, Ubuntu 18 LTS.

Когда я проверяю состояние базы данных, я вижу, что MariaDB не работает.Но я могу войти, используя команду клиента mysql.Что-то не так?Как я могу отладить это?

sudo service mariadb status

mariadb.service - MariaDB 10.3.8 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; disabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/mariadb.service.d
└─migrated-from-my.cnf-settings.conf
Active: failed (Result: timeout) since Wed 2019-02-13 08:43:11 IST; 1min 0s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 3293 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
Process: 3712 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
Process: 3706 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 3693 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 3878 (mysqld)
Tasks: 13 (limit: 4915)
CGroup: /system.slice/mariadb.service
└─3878 /usr/sbin/mysqld


# lsof -i:3306
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  2346 user_running_mariadb   31u  IPv6  28910      0t0  TCP *:mysql (LISTEN)


ps uax | grep mysql
root      2049  0.0  0.0   4628  1812 ?        S    08:40   0:00 /bin/sh /usr/bin/mysqld_safe
user_running_mariadb   2346  0.1  0.4 3005364 114444 ?      Sl   08:40   0:02 /usr/sbin/mysqld --basedir=/usr --datadir=/my_db_files_dir --plugin-dir=/usr/lib/mysql/plugin --user=user_running_mariadb    --skip-log-error --pid-file=/my_db_rundir/run/mysqld.pid --socket=/my_db_rundir/run/mysqld.sock --port=3306


#/my_db_rundir/run# ls -l
-rw-rw---- 1 user_running_mariadb group_running_mariadb 5 Feb 13 08:40 mysqld.pid
srwxrwxrwx 1 user_running_mariadb group_running_mariadb 0 Feb 13 08:40 mysqld.sock
#/my_db_rundir/run# cat mysqld.pid
2346

Я могу войти:

 mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 145
Server version: 10.3.8-MariaDB-1:10.3.8+maria~bionic-log mariadb.org
inary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input 
tatement.
MariaDB [(none)]>

Дополнительные выходные данные:

Журнал ошибок:

2019-02-13  8:52:13 0 [ERROR] InnoDB: Unable to lock ./ibdata1 error: 11
2019-02-13  8:52:13 0 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.
2019-02-13  8:52:13 0 [Note] InnoDB: Unable to open the first data file
2019-02-13  8:52:13 0 [ERROR] InnoDB: Operating system error number 11 in a file operation.
2019-02-13  8:52:13 0 [ERROR] InnoDB: Error number 11 means 'Resource temporarily unavailable'

journalctl-u mariadb.service

Feb 13 08:51:31 my_host systemd[1]: mariadb.service: Start operation timed out. Terminating.
Feb 13 08:52:13 my_host systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Feb 13 08:52:13 my_host systemd[1]: mariadb.service: Failed with result 'timeout'.
Feb 13 08:52:13 my_host systemd[1]: Failed to start MariaDB 10.3.8 database server.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Я мог бы решить проблему, однако я не совсем уверен насчет основной причины и того, что действительно решило проблему.Тем не менее, возможно, эта информация помогает другим, сталкивающимся с той же проблемой.

  1. Переустановил MariaDB и обновил до 10.3.12.Вероятно, в этом не было необходимости, потому что я продолжал решать ту же проблему после обновления.
  2. После перезагрузки заметил, что состояние msyqld показывается как активное, а mariadb как неактивное:

    / ati /mariadb / logs # sudo service mysql status Загружен: загружен (/etc/init.d/mysql; создан) Активен: активен (запущен) Документы: man: systemd-sysv-generator (8) Процесс: 1650 ExecStart = / etc / init.d / mysql start (код = выход, статус = 0 / УСПЕХ) Задачи: 39 (лимит: 4915) CGroup: /system.slice/mysql.service ─2003 / bin / sh / usr / bin / mysqld_safe ─2301 / usr/ sbin / mysqld --basedir = / usr ... └─2302 logger -t mysqld -p ошибка демона

    sudo service mariadb status mariadb.service - сервер базы данных MariaDB 10.3.12 Загружен: загружен (/ lib/systemd/system/mariadb.service; отключено; предустановка поставщика: включено) Drop-In: /etc/systemd/system/mariadb.service.d m─migrated-from-my.cnf-settings.conf Active: неактивно (dead))

  3. На веб-сайте MariaDB найден способ , включающий службу mariadb , с

    systemctl разрешить mariadb

  4. Теперь это снова работает.

0 голосов
/ 13 февраля 2019

Время ожидания службы («Результат: время ожидания»), и служба имеет конфигурацию systemd SendSIGKILL=no, что означает, что systemd только что продолжила работу mysqld.

Почему истекло время ожидания?взгляните на journalctl -u mariadb.service.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...