Я пытаюсь переместить каталог базы данных для моей установки mysql на только что установленный ssd.
Конфигурация:
Ubuntu 16.04
mysql Ver 14.14 Distrib 5.7.12 для Linux (x86_64) с использованием оболочки EditLine
Я изменил /etc/mysql/my.cnf
для включения нового каталога базы данных:
datadir = /mnt/5abeaa6e-7536-4213-bb3e-97aa9a81be16/mysql
Теперь при выполнении sudo service mysql start
появляется ошибка разрешений:
mysqld[9002]: mysqld: Can't change dir to '/mnt/5abeaa6e-7536-4213-bb3e-97aa9a81be16/mysql/' (Errcode: 13 - Permission denied)
Я выполнил рекурсивные команды chmod и chown в новом каталоге, чтобы сопоставить его и теперь показания статистики выглядят следующим образом:
$ stat /var/lib/mysql
File: '/var/lib/mysql'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 812h/2066d Inode: 13381090 Links: 8
Access: (0700/drwx------) Uid: ( 127/ mysql) Gid: ( 134/ mysql)
Access: 2016-06-23 09:42:37.687378790 -0700
Modify: 2016-06-23 09:46:04.679025933 -0700
Change: 2016-06-23 09:46:04.679025933 -0700
Birth: -
$ stat /mnt/5abeaa6e-7536-4213-bb3e-97aa9a81be16/mysql
File: '/mnt/5abeaa6e-7536-4213-bb3e-97aa9a81be16/mysql'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 820h/2080d Inode: 3276801 Links: 3
Access: (0700/drwx------) Uid: ( 127/ mysql) Gid: ( 134/ mysql)
Access: 2016-06-23 09:45:16.190998487 -0700
Modify: 2016-06-22 18:37:37.707197266 -0700
Change: 2016-06-23 09:45:16.190998487 -0700
Birth: -
Я также изменил /etc/apparmor.d/usr.sbin.mysqld
на
# Allow data dir access
# /var/lib/mysql/ r,
# /var/lib/mysql/** rwk,
/mnt/5abeaa6e-7536-4213-bb3e-97aa9a81be16/mysql/ r,
/mnt/5abeaa6e-7536-4213-bb3e-97aa9a81be16/mysql/** rwk,
. Любые идеи будут оценены.
Согласно этот сайт , необходимо отредактировать некоторую конфигурацию и выполнить несколько команд для завершения установки.
Добавляют следующее к /etc/apparmor.d/usr.sbin.mysqld
:
/NEWSQLPATH/ r,
/NEWSQLPATH/** rwk,
Затем выполненный:
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld
sudo /etc/init.d/apparmor reload
можно также добавить это к /etc/apparmor.d/tunables/alias
:
alias /var/lib/mysql/ -> /newpath/,
( запятые в концах строк важны. )