Version error for database «bacula». Wanted 14, got 12

12.07.2012, рубрики: FreeBSD | Теги: , | 750 комментариев »

После обновления bacula, скрипт bacula-dir перестал запускаться.

В /var/db/bacula/log видим:

1
2
3
4
5
12-Jul 09:40 bacula-dir JobId 0: Fatal error: Version error for database "bacula". Wanted 14, got 12
12-Jul 09:40 bacula-dir JobId 0: Fatal error: Could not open Catalog "MyCatalog", database "bacula".
12-Jul 09:40 bacula-dir JobId 0: Fatal error: Version error for database "bacula". Wanted 14, got 12
12-Jul 09:40 bacula-dir ERROR TERMINATION
Please correct configuration file: /usr/local/etc/bacula-dir.conf


База bacula должна была обновиться до версии 14, но этого не произошло автоматически.
Будем делать ручками.
Запускаем скрипт /usr/local/share/bacula/update_mysql_tables

1
2
3
4
5
6
7
8
9
/usr/local/share/bacula# ./update_mysql_tables

This script will update a Bacula MySQL database from version 12 to 14
 which is needed to convert from Bacula Community version 5.0.x to 5.2.x

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[: !=: unexpected operator
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Update of Bacula MySQL tables failed.

Так как у нас для root установлен пароль в MySQL, скрипт не отработал. Дабы не терять время, смотрим содержание файла /usr/local/share/bacula/update_mysql_tables. Видим MySQL запрос, его и запускаем в консоле MySQL:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
mysql -uroot -pVASH_PAROL

use bacula;

CREATE TABLE RestoreObject (
   RestoreObjectId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
   ObjectName BLOB NOT NULL,
   RestoreObject LONGBLOB NOT NULL,
   PluginName TINYBLOB NOT NULL,
   ObjectLength INTEGER DEFAULT 0,
   ObjectFullLength INTEGER DEFAULT 0,
   ObjectIndex INTEGER DEFAULT 0,
   ObjectType INTEGER DEFAULT 0,
   FileIndex INTEGER UNSIGNED DEFAULT 0,
   JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
   ObjectCompression INTEGER DEFAULT 0,
   PRIMARY KEY(RestoreObjectId),
   INDEX (JobId)
);

CREATE INDEX jobhisto_jobid_idx ON JobHisto (JobId);

ALTER TABLE File ADD COLUMN DeltaSeq smallint default 0;

DELETE FROM Version;
INSERT INTO Version (VersionId) VALUES (14);

\q

Запускаем:

1
/usr/local/etc/rc.d/bacula-dir start

Проверяем:

1
2
/usr/local/etc/rc.d/bacula-dir status
bacula_dir is running as pid 4443.


Оставить комментарий