LINUX.ORG.RU
решено ФорумAdmin

mariadb не запускается

 ,


1

2

Упало на меня

systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: mariadb.service: Failed with result 'exit-code'.
systemd[1]: Failed to start MariaDB 10.5.23 database server.

При этом в логе

2024-08-14 11:41:56 0 [ERROR] Failed to setup SSL
2024-08-14 11:41:56 0 [ERROR] SSL error: SSL_CTX_set_default_verify_paths failed
2024-08-14 11:41:56 0 [ERROR] Aborting

При этом в этом же логе видно, что ошибка то есть, то «оно просто запустилось и ему норм», что поменялось между не понятно.

Попытки запустить руками и с различными ключами логирования дают ничего, только exit code 1. Ну, разве что в лог опять то-же самое падает. # /usr/sbin/mariadbd --log-warnings=11 --stack-trace -T

К слову, если запустить # /usr/sbin/mariadbd --verbose --help оно говорит ssl TRUE, хотя в conf файле ssl явно выключен.

Часть conf файла:

[mysqld]
basedir = /usr
bind-address = 0.0.0.0
datadir = /var/lib/mysql
expire_logs_days = 10
key_buffer_size = 16M
log-error = /var/log/mysqld.log
max_allowed_packet = 16M
max_binlog_size = 100M
max_connections = 151
pid-file = /var/run/mysqld/mysqld.pid
port = 3306
query_cache_limit = 1M
query_cache_size = 16M
skip-external-locking
socket = /var/run/mysqld/mysqld.sock
ssl = false
ssl-ca = undef
ssl-cert = undef
ssl-key = undef
thread_cache_size = 8
thread_stack = 256K
tmpdir = /tmp
user = mysql

Я пробовал его запускать с --ssl=false, что тоже не дало никакого эффекта.

Прошу идей понять что этому чуду надо и как его запустить.


О системе:

# cat /etc/debian_version 
11.9
# dpkg -l | grep mariadb-server
ii  mariadb-server                 1:10.5.23-0+deb11u1            all          MariaDB database server (metapackage depending on the latest version)
ii  mariadb-server-10.5            1:10.5.23-0+deb11u1            amd64        MariaDB database server binaries
ii  mariadb-server-core-10.5       1:10.5.23-0+deb11u1            amd64        MariaDB database core server files
★★
Ответ на: комментарий от cobold

Справедливо, ок.

Оставляю в /etc/mysql только «мой конфиг» и показываю все его части:

# mv /etc/mysql /etc/mysql_
# mkdir /etc/mysql
# cp /etc/mysql_/my.cnf /etc/mysql
# cp -r /etc/mysql_/conf.d /etc/mysql
# cat /etc/mysql/my.cnf 
### MANAGED BY PUPPET ###

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

[isamchk]
key_buffer_size = 16M

[mysqld]
basedir = /usr
bind-address = 0.0.0.0
datadir = /var/lib/mysql
expire_logs_days = 10
key_buffer_size = 16M
log-error = /var/log/mysqld.log
max_allowed_packet = 16M
max_binlog_size = 100M
max_connections = 151
pid-file = /var/run/mysqld/mysqld.pid
port = 3306
query_cache_limit = 1M
query_cache_size = 16M
skip-external-locking
socket = /var/run/mysqld/mysqld.sock
ssl = false
ssl-ca = undef
ssl-cert = undef
ssl-key = undef
thread_cache_size = 8
thread_stack = 256K
tmpdir = /tmp
user = mysql

[mysqld-5.0]
myisam-recover = BACKUP

[mysqld-5.1]
myisam-recover = BACKUP

[mysqld-5.5]
myisam-recover = BACKUP

[mysqld-5.6]
myisam-recover-options = BACKUP

[mysqld-5.7]
myisam-recover-options = BACKUP

[mysqld_safe]
log-error = /var/log/mysqld.log
nice = 0
socket = /var/run/mysqld/mysqld.sock

[mysqldump]
max_allowed_packet = 16M
quick
quote-names



!includedir /etc/mysql/conf.d

# ls /etc/mysql/conf.d/
mysql.cnf  mysqldump.cnf
# cat /etc/mysql/conf.d/mysql.cnf 
[mysql]
# cat /etc/mysql/conf.d/mysqldump.cnf 
[mysqldump]
quick
quote-names
max_allowed_packet	= 16M

Сервис puppet остановлен, он не будет трогать файл и сервис.

Пробую запускать:
# /usr/sbin/mariadbd --verbose --help всё ещё говорит ssl TRUE

# /usr/sbin/mariadbd --log-warnings=11 --stack-trace -T
# echo $?
1

И в лог при этом упало:

2024-08-14 14:14:46 0 [Note] Starting MariaDB 10.5.23-MariaDB-0+deb11u1 source revision 6cfd2ba397b0ca689d8ff1bdb9fc4a4dc516a5eb as process 18173
2024-08-14 14:14:46 0 [Note] Initializing built-in plugins
2024-08-14 14:14:46 0 [Note] Initializing plugins specified on the command line
2024-08-14 14:14:46 0 [Note] InnoDB: Uses event mutexes
2024-08-14 14:14:46 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2024-08-14 14:14:46 0 [Note] InnoDB: Number of pools: 1
2024-08-14 14:14:46 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
2024-08-14 14:14:46 0 [Note] InnoDB: Using Linux native AIO
2024-08-14 14:14:46 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
2024-08-14 14:14:46 0 [Note] InnoDB: Completed initialization of buffer pool
2024-08-14 14:14:46 0 [Note] InnoDB: 128 rollback segments are active.
2024-08-14 14:14:46 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2024-08-14 14:14:46 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2024-08-14 14:14:46 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2024-08-14 14:14:46 0 [Note] InnoDB: 10.5.23 started; log sequence number 124924021; transaction id 42498
2024-08-14 14:14:46 0 [Note] Plugin 'FEEDBACK' is disabled.
2024-08-14 14:14:46 0 [Note] Initializing installed plugins
2024-08-14 14:14:46 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2024-08-14 14:14:46 0 [ERROR] Failed to setup SSL
2024-08-14 14:14:46 0 [ERROR] SSL error: SSL_CTX_set_default_verify_paths failed
2024-08-14 14:14:46 0 [ERROR] Aborting

User time 0.02, System time 0.01
Maximum resident set size 73648, Integral resident set size 0
Non-physical pagefaults 5609, Physical pagefaults 0, Swaps 0
Blocks in 96 out 144, Messages in 0 out 0, Signals 0
Voluntary context switches 61, Involuntary context switches 27
Flotsky ★★
() автор топика
Ответ на: комментарий от Flotsky

# strace -o /tmp/mariadb.strace /usr/sbin/mariadbd --log-warnings=11 --stack-trace -T

Явно вижу в логе, что оно читает именно мой conf файл

# cat /tmp/mariadb.strace | grep '/etc/mysql'
stat("/etc/mysql/my.cnf", {st_mode=S_IFREG|0644, st_size=1010, ...}) = 0
openat(AT_FDCWD, "/etc/mysql/my.cnf", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/etc/mysql/conf.d/", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 4
stat("/etc/mysql/conf.d/mysql.cnf", {st_mode=S_IFREG|0644, st_size=8, ...}) = 0
openat(AT_FDCWD, "/etc/mysql/conf.d/mysql.cnf", O_RDONLY|O_CLOEXEC) = 4
stat("/etc/mysql/conf.d/mysqldump.cnf", {st_mode=S_IFREG|0644, st_size=55, ...}) = 0
openat(AT_FDCWD, "/etc/mysql/conf.d/mysqldump.cnf", O_RDONLY|O_CLOEXEC) = 4

Файлик /tmp/mariadb.strace https://pastebin.com/vLfyqTDF

Flotsky ★★
() автор топика
Ответ на: комментарий от Flotsky

А если дальше заголовка прочитать?

stat("/root/.my.cnf", {st_mode=S_IFREG|0600, st_size=478, ...}) = 0
openat(AT_FDCWD, "/root/.my.cnf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0600, st_size=478, ...}) = 0
read(3, "### MANAGED BY PUPPET ###\n\n\n[mys"..., 4096) = 478
read(3, "", 4096)                       = 0
close(3)
cobold ★★★★★
()
Ответ на: комментарий от MagicMirror

Приводил выше

# ls /etc/mysql/conf.d/
mysql.cnf  mysqldump.cnf
# cat /etc/mysql/conf.d/mysql.cnf 
[mysql]
# cat /etc/mysql/conf.d/mysqldump.cnf 
[mysqldump]
quick
quote-names
max_allowed_packet	= 16M

Не думаю, что ошибка в conf файлах, они не менялись, поверьте мне на слово (не могу доказать, но нет и причин для их изменения, это было бы или видно в puppet или где-то учтено)

Flotsky ★★
() автор топика
Ответ на: комментарий от cobold

Спасибо, не хватило внимания этого заметить.

Удалил строки из conf файла

ssl = false
ssl-ca = undef
ssl-cert = undef
ssl-key = undef

И оно запустилось. Не понятным остаётся как оно ранее в большей части случаев запускалось и что поменялось что оно решило окончательно перестать.

Flotsky ★★
() автор топика
Ответ на: комментарий от Flotsky

Не понятным остаётся как оно ранее в большей части случаев запускалось

Ну то есть раньше меньшая часть таки была. Вот теперь считайте что количество переросло в качество.

anc ★★★★★
()