Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #62, ЯНВАРЬ 2006 г.

Пингвинья резервация

Alexander S. Salieff

Спецвыпуск: Хакер, номер #062, стр. 062-066-6


DROP TABLE IF EXISTS mytable;

CREATE TABLE mytable (

id int(11) NOT NULL default '0',

name char(40) default NULL,

age int(11) default NULL

) TYPE=MyISAM;

-- Dumping data for table `mytable`

LOCK TABLES mytable WRITE;

INSERT INTO mytable VALUES (1,'Masha',16);

INSERT INTO mytable VALUES (2,'Vasya',25);

UNLOCK TABLES;

Подобный дамп восстанавливается тоже достаточно элементарно:

$> mysql -u user -p password mydbname < result.sql

Стратегии сохранения баз от PostgreSQL принципиально не отличаются от MySQL'ных. Бинарные базы обычно располагаются в /var/lib/pgsql, методов их легитимного резервирования не существует, поэтому не рекомендую копировать их при работающем сервере. Да и вообще резервировать бинарные базы в иных случаях (особенно при апдейте сервера) не имеет смысла: часто версии PostgreSQL, отличающиеся даже на один минор (к примеру 7.3 и 7.4), оказываются бинарно несовместимыми. Лучше, как и в случае с MySQL, сохранять дампы формата SQL99, что делается с помощью утилиты pg_dump:

$> pg_dump --inserts --attribute-inserts -f result.sql mydbname

$> pg_dumpall --inserts --attribute-inserts -f result-all.sql

Если дамп создан при использовании ключа --format=t или --format=c, то восстановить его простым перенаправлением в sql-клиент не удастся. Придется прибегнуть к услугам утилиты pg_restore:

$> psql -d mydbname -U user -f result.sql

$> pg_dumpall --blobs --format=t -f result-all.bin.tar

$> pg_restore -d mydbname result-all.bin.tar

Чтобы сервер sshd не был таким придирчивым к файловым правам, в /etc/ssh/sshd_config можно Явно указать параметр strictmodes no

Я намеренно не стал упоминать классиЧеские unix-утилиты dump/restore: они имеют вполне определенные проблемы с ядрами linux 2.4

rdiff-backup забираем здесь: www.nongnu.org/rdiff-backup. однако он не будет работать без librsync: http://librsync.sourceforge.net

Назад на стр. 062-066-5  Содержание