поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

    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).

     
    © 1997-2005 PHP Club Team
    Rambler's Top100