Перемещение единственной базы данных MySql к отдельному физическому диску

Я пытаюсь переместить единственную базу данных MySql в другой физический диск в моей машине Ubuntu. Я использую Ubuntu 17.04.

внешний диск смонтирован в/etc/fstab следующим образом (последняя строка):

#zoneminder external drive
/path/to/new/location/zoneminder/images /var/cache/zoneminder/images none defaults,bind  0 2
/path/to/new/location/zoneminder/events /var/cache/zoneminder/events none defaults,bind 0
/dev/disk/by-uuid/a98ab607-15eb-4089-9197-7d26c3576cf9 /path/to/new/location ext4 x-gvfs-show 0 0

Я попробовал следующие шаги:

остановка mysql сервис:

sudo service mysql stop

Измените владельца подсоединенного внешнего диска (я должен обновить fstab запись для слияния этого, но одной проблемы за один раз!):

chown mysql:mysql /path/to/new/location

переместитесь в mysql папку

cd /var/lib/mysql

база данных копии (названный zm) к новому местоположению

sudo rsync -av zm /path/to/new/location/zm

переименуйте старую базу данных

sudo mv zm zm.old

создайте символьную ссылку на базу данных мы rsynced

sudo ln -s /path/to/new/location/zm

переместитесь в новое местоположение базы данных

cd /path/to/new/location

выполнение ll в этой точке показывает мне, что mysql является владельцем/path/to/new/location/zm

полномочия файла набора

sudo chmod 700 zm
cd zm
sudo chmod 660 *

добавьте новое местоположение к apparmor

sudo nano /etc/apparmor.d/usr.sbin.mysqld

добавить

/path/to/new/location/ r,
/path/to/new/location/** rwk,

(ре) запускает сервисы

sudo service apparmor restart
sudo service mysql start

Войдите в mysql:

mysql -u root -p

откройте новую базу данных

use zm;

покажите таблицы

show tables;

и здесь я получаю ошибку:

ERROR 1018 (HY000): Can't read dir of './zm/' (errno: 13 - Permission denied)

Я также попробовал chmod 777 и chmod 777 * в /path/to/new/location без успеха

5
задан 21 December 2017 в 14:08

2 ответа

Зафиксированный это!

Проблемой была apparmor запись:

/path/to/new/location/ r,
/path/to/new/location/** rwk,

на самом деле должен был быть один каталог от того, каково это было:

/path/to/new/ r,
/path/to/new/** rwk,

ОТРЕДАКТИРУЙТЕ Ubuntu 18.04, потребовал, чтобы я изменил владельца символьной ссылки на mysql:

(в/var/lib/mysql:)

chown -h mysql:mysql zm
3
ответ дан 23 November 2019 в 10:26

Можно попробовать это изменение:

1) first check in my.cnf [/etc/mysql/my.cnf] for database files destination.

2) let say that destination is in folder /var/lib/mysql/ and yours database name is "abccompany"

3) stop mysql database

4) move folder [var/lib/mysql/abccompany] to new destination (let say "/diskY")

5) make symbolic link:
     ln  -s  /diskY/abccompany   abccompany

6) start mysql database and everything should work just fine.
0
ответ дан 23 November 2019 в 10:26

Другие вопросы по тегам:

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