Spec-Zone.ru › MySQL 5.7

8.12.3.3 Использование символических ссылок для баз данных в Windows

В Windows символические ссылки могут использоваться для каталогов баз данных. Это позволяет разместить каталог базы данных в другом месте (например, на другом диске), создав символическую ссылку на него. Использование символических ссылок на базы данных в Windows аналогично их использованию в Unix, хотя процедура создания ссылки отличается.

Предположим, что вы хотите разместить каталог базы данных для базы данных под именем mydb в D:\data\mydb. Для этого создайте символическую ссылку в каталоге данных MySQL, указывающую на D:\data\mydb. Однако перед созданием символической ссылки убедитесь, что каталог D:\data\mydb существует, создав его при необходимости. Если у вас уже есть каталог базы данных под именем mydb в каталоге данных, переместите его в D:\data. В противном случае символическая ссылка не будет эффективной. Для избежания проблем убедитесь, что сервер не работает во время перемещения каталога базы данных.

В Windows вы можете создать символическую ссылку с помощью команды mklink. Эта команда требует прав администратора.

  1. Убедитесь, что необходимый путь к базе данных существует. В этом примере мы используем D:\data\mydb и базу данных под именем mydb.

  2. Если база данных еще не существует, выполните CREATE DATABASE mydb в клиенте mysql, чтобы создать её.

  3. Остановите службу MySQL.

  4. Используя Проводник Windows или командную строку, переместите каталог mydb из каталога данных в D:\data, заменив каталог с тем же именем.

  5. Если вы не работаете в командной строке, откройте её и измените местоположение на каталог данных следующим образом:

    C:\> cd \path\to\datadir
    

    Если ваша установка MySQL находится в стандартном расположении, вы можете использовать это:

    C:\> cd C:\ProgramData\MySQL\MySQL Server 5.7\Data
    
  6. В каталоге данных создайте символическую ссылку с именем mydb, указывающую на местоположение каталога базы данных:

    C:\> mklink /d mydb D:\data\mydb
    
  7. Запустите службу MySQL.

После этого все таблицы, созданные в базе данных mydb, будут созданы в D:\data\mydb.

В качестве альтернативы, в любой версии Windows, поддерживаемой MySQL, вы можете создать символическую ссылку на базу данных MySQL, создав файл .sym в каталоге данных, содержащий путь к целевому каталогу. Файл должен иметь имя db_name.sym, где db_name — имя базы данных.

Поддержка символических ссылок на базы данных в Windows с использованием файлов .sym включена по умолчанию. Если вам не нужны символические ссылки с файлами .sym, вы можете отключить их поддержку, запустив mysqld с опцией --skip-symbolic-links. Чтобы определить, поддерживает ли ваша система символические ссылки с файлами .sym, проверьте значение системной переменной have_symlink с помощью этого оператора:

SHOW VARIABLES LIKE 'have_symlink';

Для создания символической ссылки с файлом .sym используйте эту процедуру:

  1. Измените местоположение на каталог данных:

    C:\> cd \path\to\datadir
    
  2. В каталоге данных создайте текстовый файл с именем mydb.sym, содержащий этот путь: D:\data\mydb\

    Примечание

    Путь к новой базе данных и таблицам должен быть абсолютным. Если вы указываете относительный путь, расположение относительное к файлу mydb.sym.

После этого все таблицы, созданные в базе данных mydb, будут созданы в D:\data\mydb.

Примечание

Поскольку поддержка файлов .sym избыточна с поддержкой родственных символических ссылок, доступной с помощью mklink, использование файлов .sym устарело; ожидается, что поддержка их будет удалена в будущих релизах MySQL.

Следующие ограничения применяются к использованию файлов .sym для символической привязки базы данных в Windows. Эти ограничения не применяются для символических ссылок, созданных с помощью mklink.

  • Символическая ссылка не используется, если каталог с тем же именем, что и база данных, существует в каталоге данных MySQL.

  • Опция --innodb_file_per_table не может быть использована.

  • Если вы запускаете mysqld как службу, вы не можете использовать сопоставленный диск с удалённым сервером в качестве места назначения символической ссылки. В качестве обходного пути можно использовать полный путь (\\servername\path\).

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/windows-symbolic-links.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API