Назад | Перейти на главную страницу

Перемонтирование MySQL под новой точкой монтирования

/ var / lib / mysql смонтирован в разделе /, который теперь заполнен. Есть ли способ смонтировать это в / home / mysql для увеличения дискового пространства?

  1. Остановить MySQL
  2. Перенести данные MySQL из /var/lib/mysql к /home/mysql
  3. Укажите MySQL на новый каталог данных
  4. Запустить MySQL

Это может быть реализовано так (ВНИМАНИЕ: не проверено)

/etc/init.d/mysql stop
mv /var/lib/mysql /home/.
ln -s /home/mysql /var/lib/mysql
/etc/init.d/mysql start

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

В идеале вы должны дать ему собственную точку монтирования в его собственном разделе, который можно смонтировать в /var/lib/mysql.

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

Грубая процедура ....

  1. Используйте dd для создания где-нибудь файла обратной связи.
    • dd if=/dev/zero of=/home/mysql/datavol bs=1M count=4096
  2. Прикрепите файл к устройству обратной связи
    • losetup /dev/loop0 /home/mysql/datavol
  3. Отформатируйте устройство как хотите.
    • mkfs.ext3 /dev/loop0
  4. Смонтируйте где-нибудь
    • mount /dev/loop0 /mnt
  5. Скопируйте ваши данные
    • cp -a /var/lib/mysql/ /mnt/
    • Могут быть использованы и другие методы, это только один.
  6. Очистить / var / lib / mysql
  7. Перемонтировать в / var / lib / mysql
    • umount /mnt ; mount /dev/loop0 /var/lib/mysql
  8. Убедитесь, что каталог принадлежит правильному пользователю
    • chown mysql:mysql /var/lib/mysql

На этом этапе у вас должен быть более крупный / var / lib / mysql, фактически размещенный на вашем большом разделе.