Для создания символической ссылки для базы данных вначале следует создать каталог на некотором диске, где имеется свободное место, а затем создать символическую ссылку на него из каталога баз данных MySQL.
shell>mkdir /dr1/databases/testshell>ln -s /dr1/databases/test mysqld-datadir
MySQL не поддерживает ссылку из
одного каталога на несколько баз
данных. Замещение каталога базы
данных символической ссылкой
будет хорошо работать только в
случае, если вы не создаете
символическую ссылку между
базами данных. Предположим,
имеется база данных db1 в
каталоге данных MySQL и создается
символическая ссылка
db2, указывающая на
db1:
shell>cd /path/to/datadirshell>ln -s db1 db2
Теперь для любой таблицы
tbl_a в db1
должна существовать таблица
tbl_a в db2. Если
один поток обновляет
db1.tbl_a, а другой поток -
db2.tbl_a, то возникнут
проблемы.
Если описанная выше возможность
действительно необходима, то
нужно изменить следующий код в
mysys/mf_format.c:
if (flag & 32 || (!lstat(to,&stat_buff) && S_ISLNK(stat_buff.st_mode)))
на
if (1)
Под Windows можно использовать
внутренние символические ссылки
на каталоги (путем компиляции MySQL
с -DUSE_SYMDIR). Это позволяет
размещать различные базы данных
на различных дисках (see
Раздел 2.6.2.5, «Распределение данных в Windows между несколькими различными дисками»).
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
