Как изменить datadir MySQL под debian9 - PullRequest
0 голосов
/ 06 ноября 2018

Итак, я установил MySQL 8.0 на свой выделенный сервер Debian 9. Поскольку сервер имеет системный том всего 20G, я хочу изменить каталог данных на второй том, содержащий данные. Mysql работает правильно на этом этапе.

Мой второй том монтируется в "/ mnt / web" (Ext4, как системный том)

Я создал каталог "/ mnt / web / database / mysql", и у пользователя mysql есть разрешения RWX.

Вот шаги, которые я сделал:

  • Стоп mysql
  • Изменить каталог данных в конфигурационном файле
  • Создайте новый каталог, используйте ACL для предоставления разрешения RWX для mysql (user + grp)
  • Скопировать старое содержимое каталога в новое содержимое каталога
  • Резервное копирование старого каталога
  • Перезапустить mysql

Он не будет перезагружаться должным образом, и у меня есть следующие ошибки:

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2018-11-06 15:32:11 UTC; 2min 2s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 616 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
  Process: 518 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 616 (code=exited, status=1/FAILURE)
   Status: "SERVER_BOOTING"
    Error: 13 (Permission denied)

Nov 06 15:32:11 ov-b6e882 mysqld[616]: 2018-11-06T15:32:11.541193Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.13) starting as process 616
Nov 06 15:32:11 ov-b6e882 mysqld[616]: 2018-11-06T15:32:11.563003Z 0 [Warning] [MY-010091] [Server] Can't create test file /mnt/web/databases/mysql/ov-b6e882.lower-test
Nov 06 15:32:11 ov-b6e882 mysqld[616]: 2018-11-06T15:32:11.563036Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /mnt/web/databases/mysql/ is case insensitive
Nov 06 15:32:11 ov-b6e882 mysqld[616]: 2018-11-06T15:32:11.563860Z 0 [ERROR] [MY-010172] [Server] failed to set datadir to /mnt/web/databases/mysql/
Nov 06 15:32:11 ov-b6e882 mysqld[616]: 2018-11-06T15:32:11.563902Z 0 [ERROR] [MY-010119] [Server] Aborting
Nov 06 15:32:11 ov-b6e882 mysqld[616]: 2018-11-06T15:32:11.570248Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.13)  MySQL Community Server - GPL.
Nov 06 15:32:11 ov-b6e882 systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
Nov 06 15:32:11 ov-b6e882 systemd[1]: Failed to start MySQL Community Server.
Nov 06 15:32:11 ov-b6e882 systemd[1]: mysql.service: Unit entered failed state.
Nov 06 15:32:11 ov-b6e882 systemd[1]: mysql.service: Failed with result 'exit-code'.

Я уже много раз проводил исследования на форумах, пробовал тоже с mariadb, перезагружался с начала 2 раза, и все равно получил в этот момент. Apparmor не имеет профиля mysql и, кажется, не установлен, я все равно отключил его в grub, чтобы убедиться, что я действительно не понимаю, откуда возникла проблема.

Я также пытался установить символические ссылки из старого каталога в новый, похоже, не работал.

Я что-то упускаю или делаю что-то не так? Я действительно потерян здесь, и кажется, что сейчас трудно решить общую проблему ...

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