[PÁGINA 148, SUBSTITUIR O SEGUNDO e TERCEIROS PARÁGRAFOS PELO ABAIXO]
…
No caso do MySQL o comando nativo mysqlhotcopy ou mysqldump podem ser utilizados para criar uma “cópia” íntegra do banco. O primeiro se mostra mais recomendável pois não indisponibiliza o acesso ao banco, apenas trava as tabelas, para criar uma redundância dos arquivos e pastas do MySQL. Já a saída do mysql dump consiste num espelho do banco em formato ASCI.
16.2.2. Backup do banco MySQL
[O TEXTO DESSE ITEM DEVE VIRAR UM SUBITEM: 16.2.2.1]
Acrescentar subitem:
16.2.2.2 mysqlhotbackup
a) Para utilizar este processo, crie um usuário Bacula no banco de dados a ser backupeado (se não houver) e garanta permissões para travamento das tabelas:
$ mysql -p
Enter password:
…
mysql> CREATE USER ‘bacula’@’localhost’ IDENTIFIED BY ‘senha‘;
Você receberá o retorno indicando o sucesso do comando: Query OK, 0 rows affected (0.00 sec)
mysql> GRANT SELECT, RELOAD, LOCK TABLES ON *.* TO
‘bacula’@’localhost’ IDENTIFIED BY ‘senha‘;
Idem: Query OK, 0 rows affected (0.00 sec)
b) Crie um diretório para destino da cópia quente:
mkdir /mnt/copiamysql
c) Crie um shell script com o comando mysqlhotcopy (ex.: copiamysqlallbases.sh):
mysqlhotcopy –regex=.* –user root –password 123456 –allowold /mnt/copiamysql/ > /etc/bacula/copiamysqlallbases.sh
d) Confira permissão de execução ao script:
chmod o+x /etc/bacula/copiamysqlallbases.sh
e) Insira a opção ClientRunBeforeJob no Job de backup do servidor hospedeiro da base de dados:
Job {
Name = “BackupClient1”
JobDefs = “DefaultJob”ClientRunBeforeJob = “/etc/bacula/copiamysqlallbases.sh”
}
f) Certifique-se que o caminho destino da cópia (/mnt/copiamysql/) encontra-se incluída no backup deste mesmo servidor:
FileSet {
Name = “bd_mysql_set”
Include {
Options {
signature = MD5
}
File = /mnt/copiamysql/
}}
g) Reinicie o daemon do director ou submeta o comando reload no bconsole.
h) Submeta o job como forma de testar a execução do SCRIPT. Fim.
Disponível em: Português