4.8.6 mysqlhotcopy
, Копирование баз данных и таблиц MySQL
Утилита 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
).
Add your own comment.