Утилита mysqlhotcopy
представляет собой Perl-сценарий,
использующий SQL-команды LOCK
TABLES, FLUSH TABLES и
Unix-утилиты cp или
scp для быстрого
получения резервной копии базы
данных. Пожалуй, это наиболее
быстрый способ копирования баз
данных или таблиц, но он может
работать только на том же
компьютере, где расположены
каталоги копируемой базы данных.
mysqlhotcopy db_name [/path/to/new_directory] mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory mysqlhotcopy db_name./regex/
Утилита mysqlhotcopy
поддерживает следующие опции:
-?, --help
Показать окно справки и выйти из программы.
-u, --user=#
Имя пользователя для входа в базу данных.
-p, --password=#
Используемый пароль при подсоединении к серверу.
-P, --port=#
Номер порта, используемого для подсоединения к локальному серверу.
-S, --socket=#
Номер сокета, используемого для подсоединения к локальному серверу.
--allowold
Не делать прерывания, если объект уже существует (переименовать в it_old).
--keepold
Не удалять предыдущий результат (только что переименованный) после выполнения команды.
--noindices
Не включать обширные индексные
файлы в копию, чтобы сделать
дубликат меньше по размеру и
более быстрым. Индексы можно
реконструировать позже с
помощью команды myisamchk
-rq.
--method=#
Метод копирования (cp
или scp).
-q, --quiet
Выводить только сообщения об ошибках.
--debug
Разрешить отладку.
-n, --dryrun
Сообщать о действиях без их выполнения.
--regexp=#
Копировать все базы данных с именами, встречающимися в функции regexp.
--suffix=#
Суффикс для имен скопированных баз данных.
--checkpoint=#
Внести проверочную запись в предусмотренную таблицу базы данных.
--flushlog
Записать на диск данные журналов из буфера, как только все таблицы заблокируются.
--tmpdir=#
Временная директория (вместо
/tmp).
Более полное описание данного сценария можно посмотреть в документации по языку программирования Perl.
Сценарий mysqlhotcopy берет
информацию для групп
[client] и [mysqlhotcopy]
из файлов опций.
Для выполнения программы
mysqlhotcopy необходимы
доступ для записи в директорию,
куда будет помещена копия, и
привилегия выполнения команды
SELECT для копируемых
таблиц и команды RELOAD для
MySQL-сервера (чтобы выполнить
FLUSH TABLES).
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.
