Могу ли я настроить MySQL для хранения конкретной базы данных в отдельном месте на диске?
Я все еще хочу, чтобы все новые базы данных помещались в папку по умолчанию, но есть конкретная база данных, которую я хотел бы сохранить в папке Dropbox, чтобы она могла синхронизироваться между несколькими компьютерами.
Как я могу это сделать?
Ответы:
Конечно вы можете! Вы должны предоставить корневое разрешение . Прочитайте ¯Ln страницы руководства.
MySQL хранит данные базы данных в отдельных каталогах в
/var/lib/mysql
. Я думаю, сначала вы должны были сделать каталог, куда вы хотите поместить файлы выбранной базы данных. Предоставьте разрешение root, остановите MySQL deamon:Скопируйте ваши данные в новую папку:
Удалите старый каталог из файлов данных MySQL: ( Внимание! ВСЕГДА сначала делайте дамп SQL !!! )
Создайте символическую ссылку на каталог данных MySQL: ( Обратите внимание! Сначала прочтите man-страницу ln !!! )
После этого вы готовы запустить MySQL:
Предупреждение! Если ваш новый каталог не доступен для чтения и чтения MySQL, это не сработает! Пример, общая проблема: вы помещаете новый каталог данных в свою домашнюю папку, ваша домашняя папка защищена от чтения другими пользователями (например, drwxrwx --- you you yourdir).
Спросите, хотите ли вы узнать что-то еще об этом методе!
источник
/etc/apparmor.d/*mysqld
чтобы включить новый каталог тоже. Затемsudo service apparmor reload
перед перезапуском MySQL./etc/apparmor.d/local
(хотя в моей установке уже есть usr.sbin.mysqld), добавление сингла/full/path/to/new/database/dir/** rwk,
сделало это для меня ...fstab
как это так , что этот диск был установлен в файловой системе после загрузки, теперь все работает.Имейте в виду, что если вы используете Ubuntu, вам также необходимо добавить запись в конфигурационный файл AppArmour /etc/apparmor.d/usr.sbin.mysqld, в противном случае вы продолжите получать ошибки прав записи даже при изменении файлов и папок. разрешения.
источник