|
Программирование >> Программный интерфейс приложений
Каталог данных можно разместить на диске большего размера, чем используется в настояший момент, Если каталог данных располагается на часто используемом диске, перемешение его на другой диск позволит уровнять зафузку среди физических дисков. В этом случае можно разместить файлы баз данных и журналов на отдельном диске или распределить их по нескольким дискам сразу. Каждый из одновременно запушенных серверов можно разместить в своем каталоге данньк. Такой подход является одним из способов обойти Офаничения на файловые дескрипторы, особенно если эти Офаничения нельзя усфанить посредством насфойки ядра системы. Некоторые операционные системы хранят РЮ-файлы сервера в отдельном каталоге, например /var/run. Возможно, для большей согласованности работы системы админисфатор пожелает разместить в этой папке и РЮ-файлы MySQL. Методы перемещения Сушествует два способа перемещения компонентов каталога данных. Определение опции зафузки сервера с помошью командной строки или в фуппе [mysqld] конфигурационного файла. Перемещение элементов и создание в исходном каталоге символической связи (symbolic link), указьшаюшей на новое местоположение. Ни один из приведенных методов не является универсальным для переноса информации. В табл. 10.4 отмечается, какие компоненты каталога данных можно перемещать и какой метод следует для этого использовать. Если применяется первый метод, можно задать опции в глобальном конфигурационном файле /etc/my.cnf (C:\my.cnf на компьютерах, работающих под управлением ОС Windows). В последних версиях ОС Windows этот файл может располагаться в системной папке (С: \windows или С: \NT).
Для перемещения можно также использовать файл my.cnf, расположенный в каталоге данных по умолчанию, однако делать это не рекомендуется. Если ваща цель - переместить весь каталог данных, необходимо оставить этот каталог нетронутым на старой позиции, чтобы разместить в нем конфигурационный файл со ссылкой на реальный каталог данных. Это может привести к путанице. Для определения опций сервера лучще воспользоваться конфигурационным файлом /etc/my. cnf. Определение эффекта перемещения Прежде чем приступать к перемещению каких-либо компонентов, настоятельно рекомендуется убедиться, что эта операция приведет к желаемому эффекту. Для получения информации о пространстве диска некоторые пользователи предпочитают использовать команды du, df и Is -1, хотя этот выбор, в первую очередь, определяется правильным пониманием структуры используемой файловой системы. В приведенном ниже примере существует едва заметная ловущка, в которую можно попасться при перемещении каталога данных. Предположим, что каталог данных /usr/local/var планируется переместить в каталог /var/mysql, поскольку согласно выводу команды df файловая система /var содержит больще свободного пространства: % df /usr /var Filesystem IK-blocks Used Avail Capacity Mounted on /dev/wdOs3e 396895 292126 73018 80% /usr /dev/wdOs3f 1189359 1111924 162287 15% /var Сколько же пространства освободится в файловой системе /usr в результате перемещения каталога данных? Чтобы вычислить этот объем, воспользуемся командой du -S и посмотрим, сколько этот каталог занимает: % cd /usr/local/var % du -s 133426 Как видно, этот каталог занимает чуть более 130 Мбайт, которые можно освободить в /usr. Однако можно ли этот прием реализовать на самом деле? Запустите команду df в каталоге данных: % df /usr/local/var Filesystem IK-blocks Used Avail Capacity Mounted on /dev/wd0s3f 1189359 1111924 162287 15% /var Что же получается? При запросе объема свободного пространства в файловой системе, содержащей каталог /usr/local/var, команда df отображает свободный объем в /var. Почему так? Ответ на этот вопрос дает команда Is -1: % Is -1 /usr/local Irwxrwxr 1 root wheel 10 Dec 11 23:46 var -> /var/mysql Из результатов выполнения этой команды видно, что /usr/local/var является символической связью с /var/mysql. Другими словами, каталог данных уже перемещен в файловую систему /var и включает указывающую на нее символическую связь. Соответственно, никакой выгоды перемещение каталога данных из /usr в /var не принесет. Суть этого примера состоит в том, что несколько действий по определению эффекта перемещения могут показать нецелесообразность подобного перемещения. Такая предосторожность позволяет вовремя остановиться и не тратить уйму времени на перемещение только для того, чтобы затем понять, что достичь нужной цели невозможно. Перемещение каталога данных Для перемещения каталога данных необходимо завершить работу сервера и только после этого перенести каталог на новую позицию. Затем необходимо удалить данные исходного каталога и заменить его символической связью, указывающей на новую позицию, либо перезапустить сервер с опцией, определяющей новое местоположение. Синтаксис командной строки и конфигурационного файла представлен в табл. 10.5. Таблица 10.5. Синтаксис перемещения каталога данных
Перемещение баз данных Базы данных можно перемещать только с помощью метода символической связи. Для этого необходимо завершить работу сервера, перенести каталог базы данных, затем удалить этот каталог и заменить его символической связью, указывающей на новую позицию. После этого можно перезапустить сервер. Так, например, перемещение базы данных bigdb на другое место выполняется с помощью следующих команд. % mysqladmin -и root -р shutdown Enter password: ******** % cd DATADIR % tar cf - bigdb ( (cd /var/db; tar xf -) % mv bigdb bigdb.orig % In -s /var/db/bigdb . % safe mysqld &
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |