MySQL таблицы на внешнем жестком диске - PullRequest
5 голосов
/ 27 мая 2011

У меня большой объем текстовых данных, которые необходимо импортировать в MySQL. Я делаю это на MacBook, и у меня недостаточно места для него, поэтому я хочу сохранить его на внешнем жестком диске (на данный момент меня не особо беспокоит скорость - это только для тестирования).

Какой лучший способ сделать это?

  • Установить MySQL на внешний жесткий диск (возможно ли это на Mac?)
  • Установить MySQL на жесткий диск ноутбука и иметь таблицы на внешнем (как?)

Ответы [ 4 ]

4 голосов
/ 27 мая 2011

Один простой способ - создать символическую ссылку, заменяющую текущее местоположение файла базы данных mysql, указывающее на внешний диск. Google символическая ссылка.

пример использования будет после того, как вы выключите mysql, измените старое имя папки mysql db на что-то другое и создадите символическую ссылку с помощью команды ln, как показано ниже

ln -s [EXTERNAL DRIVE PATH] [MYSQL DB FOLDER PATH]

Затем переместите все предыдущее содержимое папки mysql db в новое место.

0 голосов
/ 17 марта 2019

Откройте /etc/mysql/my.cnf и найдите значение datadir. В качестве альтернативы вы можете узнать это на мониторе mysql с помощью

mysql>   select @@datadir;

Стоп MySQL

sudo systemctl stop mysql

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

sudo rsync -av /var/lib/mysql /mnt/myHDD/somedir/mysql

Изменить местоположение datadir в my.cnf.
Запустите mysql снова

sudo systemctl start mysql

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

На этой странице содержится более обширное руководство , но все дополнительные проблемы, о которых он предупреждает, не были актуальны для меня на моем малиновом PI. То есть Я пропустил их, и это сработало.

0 голосов
/ 10 декабря 2012

Пользователь user658991 находится на полпути.

После добавления программной ссылки вам нужно будет добавить следующую строку в /etc/apparmor.d/usr.sbin.mysqld под 2 строками в старой папке mysql.

/path/to/mysql/folder/on/the/external/ r
/path/to/mysql/folder/on/the/external/ ** rwk

Без этих двух строк MySQL не может начать жаловаться на:

Can't create test file /path/to/mysql/folder/on/the/external/hostname.lower-test
Can't create test file /path/to/mysql/folder/on/the/external/hostname.lower-test
mysqld: Can't change dir to '/path/to/mysql/folder/on/the/external/' (Errcode: 13)

Перезапустите apparmor, чтобы изменения вступили в силу.

sudo invoke-rc.d apparmor restart

При этом MySQL запускается нормально.

0 голосов
/ 27 мая 2011

Для второго варианта табличное пространство может помочь:

http://dev.mysql.com/doc/refman/5.1/en/create-tablespace.html

...