Разные места для баз данных MySQL?

Могу ли я настроить MySQL для хранения определенной базы данных в отдельном месте на диске?

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

Как я могу это сделать?

18
задан 17 May 2011 в 16:18

2 ответа

Конечно можно! Вы должны предоставить корневое разрешение . Прочтите справочные страницы ln .

MySQL хранит данные базы данных в отдельных каталогах в /var/lib/mysql. Я думаю, сначала вы должны были сделать каталог, куда вы хотите поместить файлы выбранной базы данных. Предоставьте разрешение root, остановите MySQL deamon:

# /etc/init.d/mysql stop

Скопируйте ваши данные в новую папку:

# cp /var/lib/mysql/DATABASENAME /path/to/new/database/dir

Удалите старый каталог из файлов данных MySQL: ( Предупреждение! ВСЕГДА сначала создайте дамп SQL !!! )

# rm -R /var/lib/mysql/DATABASENAME

Создайте символическую ссылку на каталог данных MySQL: ( Обратите внимание! Сначала прочтите man-страницу ln !!! )

# ln -s /full/path/to/new/database/dir /var/lib/mysql/DATABASENAME

После того, как вы готовы, запустите MySQL:

# /etc/init.d/mysql start

Внимание! Если ваш новый каталог не доступен для чтения и чтения MySQL, это не сработает! Пример, общая проблема: вы помещаете новый каталог данных в свою домашнюю папку, ваша домашняя папка защищена от чтения другими пользователями (например, drwxrwx --- you you your dir).

Спросите, хотите ли вы узнать что-нибудь об этом методе!

0
ответ дан 17 May 2011 в 16:18

Имейте в виду, что если вы используете Ubuntu, вам также необходимо добавить запись в конфигурационный файл AppArmour /etc/apparmor.d/usr.sbin.mysqld, в противном случае вы по-прежнему будете получать ошибки разрешения на запись даже при изменении права доступа к файлам и папкам.

0
ответ дан 17 May 2011 в 16:18

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

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