Задать вопрос
@sferg1985
Рассказывать долго. Сами спросите о чём нужно.

Ошибка при запуске MariaDB после переноса datadir с HDD на SSD. В чём может быть дело?

Здравствуйте, господа. На Debian Jessie настроена связка Nginx + PHP7-FPM + MariaDB. Решил попробовать перенести БД с обычного HDD на SSD:

1. Останавливаю MariaDB:
systemctl stop mysql

2. Копирую БД на SSD:
rsync -av /var/lib/mysql /home/ssd

3. Меняю в файле /etc/mysql/my.cnf значение параметра datadir с /var/lib/mysql на /home/ssd/mysql

4. Пытаюсь запустить MariaDB:
systemctl start mysql

и получаю ошибку:
Job for mariadb.service failed. See 'systemctl status mariadb.service' and 'journalctl -xn' for details.

5. Вывод команды journalctl -xn:
-- Logs begin at Ср 2016-12-07 13:44:53 MSK, end at Сб 2016-12-10 14:33:43 MSK. --
дек 10 14:33:40 hostname systemd[1]: Starting MariaDB database server...
-- Subject: Начинается запуск юнита mariadb.service
-- Defined-By: systemd
-- Support: lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Начат процесс запуска юнита mariadb.service.
дек 10 14:33:41 hostname mysqld[28833]: 2016-12-10 14:33:41 140252996253632 [Note] /usr/sbin/mysqld (mysqld 10.1.19-MariaDB-1~jessie) starting as process 28833 ...
дек 10 14:33:41 hostname mysqld[28833]: 2016-12-10 14:33:41 140252996253632 [Warning] Can't create test file /home/ssd/mysql/hostname.lower-test
дек 10 14:33:41 hostname mysqld[28833]: [91B blob data]
дек 10 14:33:41 hostname mysqld[28833]: 2016-12-10 14:33:41 140252996253632 [ERROR] Aborting
дек 10 14:33:41 hostname systemd[1]: mariadb.service: main process exited, code=exited, status=1/FAILURE
дек 10 14:33:41 hostname systemd[1]: Failed to start MariaDB database server.
-- Subject: Ошибка юнита mariadb.service
-- Defined-By: systemd
-- Support: lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Произошел сбой юнита mariadb.service.
--
-- Результат: failed.
дек 10 14:33:41 hostname systemd[1]: Unit mariadb.service entered failed state.


На /var/lib/mysql всё стартует нормально, а на /home/ssd/mysql - не хочет. В чём может быть дело? Куда копать?
  • Вопрос задан
  • 3083 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
anton_slim
@anton_slim
web разработчик
Примонтируй ssd в другую директорию НЕ /home, у mysql сервиса стоит защита на запуск в /home.
Либо можно прибиндить директорию и не трогать конфиги:
mount --bind /home/ssd/mysql /var/lib/mysql

У меня была такая же проблема, яндекс выдал тему в stack overflow которая мне помогла
Ответ написан
Mouvdy
@Mouvdy
Была така же проблема но с MYSQL,
1. Проверьте чтобы верные права и пользователь был в новой папке

2. Если не поможет - тогда конфиг оставляйте как был, а папку делайте симлинком на ssd
Ответ написан
@AVSomov
Не смущает эта строка?
дек 10 14:33:41 hostname mysqld[28833]: 2016-12-10 14:33:41 140252996253632 [Warning] Can't create test file /home/ssd/mysql/hostname.lower-test


Проверьте есть ли права на запись\чтение в /home/ssd/mysql/ у учетной записи, под которой стартует процесс.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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