У меня необычная проблема . Я попытался изменить каталог данных для моей установки MariaDB, но он не работает после перезагрузки компьютера:
/ var / lib / mysql /
в / mnt / Data / mysql
с помощью команды rsync и установка нового каталога с владельцем mysql: mysql
с помощью chown -R ...
. datadir = / mnt / Data / mysql
в /etc/mysql/mariadb.conf.d/50-server.cnf
файле / etc / apparmor .d / tunables / alias
, добавив к нему строку alias / var / lib / mysql / -> / mnt / Data / mysql /,
. systemctl restart apparmor
и systemctl restart mariadb
- пока все хорошо. Тем не менее, когда я перезагружаю машину, MariaDB не загружается с systemctl status mariadb
из:
● mariadb.service - MariaDB 10.3.25 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2020-12-31 15:50:03 EST; 39min ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 559 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 598 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 625 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || >
Process: 695 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
Main PID: 695 (code=exited, status=1/FAILURE)
Status: "MariaDB server is down"
Dec 31 15:50:02 Server systemd[1]: Starting MariaDB 10.3.25 database server...
Dec 31 15:50:03 Server mysqld[695]: 2020-12-31 15:50:03 0 [Note] /usr/sbin/mysqld (mysqld 10.3.25-MariaDB-0ubuntu0.20.04.1) starting as process 695 ...
Dec 31 15:50:03 Server mysqld[695]: 2020-12-31 15:50:03 0 [Warning] Can't create test file /mnt/Data/mysql/Ubuntu.lower-test
Dec 31 15:50:03 Server mysqld[695]: [100B blob data]
Dec 31 15:50:03 Server mysqld[695]: 2020-12-31 15:50:03 0 [ERROR] Aborting
Dec 31 15:50:03 Server systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Dec 31 15:50:03 Server systemd[1]: mariadb.service: Failed with result 'exit-code'.
Dec 31 15:50:03 Server systemd[1]: Failed to start MariaDB 10.3.25 database server.
Однако ручная команда sudo systemctl start mariadb
работает - до следующей перезагрузки. Что-то мне не хватает?
/ etc / fstab
, чтобы жесткий диск монтировался при запуске системы. /var/log/mysql/error.log
и не сообщает об ошибках или предупреждениях Каким-то образом я нашел свой собственный ответ на эту проблему после публикации этого вопроса.
Это оказался файл /etc/fstab
с точки зрения монтирования диска.
Ранее я монтировал диск с помощью утилиты Gnome Disks, и их изменение файла /etc/fstab
не позволяло MariaDB подключиться к жесткому диску.
Ручное, прямое редактирование этого важного файла решило проблему.
Вот пример того, как следуетfstab
отредактировать диск для хранения баз данных:
...
/dev/sdb1 /mnt/Data ext4 defaults 0 0
...
На этом все.
Спасибо.