MySQL usa xtrabackup para copiar e filtrar um determinado banco de dados

precisar:

Crie uma nova biblioteca escrava e copie e filtre apenas um dos fluxos de trabalho do banco de dados de origem para a nova instância.

Uma etapa da operação

1.1 Crie uma nova instância de banco de dados no lado de destino

um pouco

1.2 Faça um backup na fonte

/home/urman-agent/bin/xtrabackup --defaults-file=/data/mysql/etc/13314/my.cnf --target-dir=workflow_bak_0514 --user=root --password=密码--socket=/data/mysql/data/13314/mysqld.sock --databases= workflow --backup

1.3 Copie o arquivo de backup para o destino

scp -r workflow_bak_0514 ip de destino :/data/mysql/data/13320_temp/

1.4 Recuperação

1.4.1 preparar

#Prepare no lado do alvo e aplique redo log

/home/urman-agent/bin/xtrabackup --prepare --export --target-dir=/data/mysql/data/13320_temp/workflow_bak_0514

1.4.2 Gerar arquivo cfg

/home/urman-agent/bin/xtrabackup --export --target-dir=/data/mysql/data/13320_temp/workflow_bak_0514

Dessa forma, você pode ver o arquivo cfg no diretório do fluxo de trabalho.

1.4.3 Estrutura da tabela do banco de dados de origem do backup remoto (tabela vazia)

mysqldump -h source database ip -P source ip -u root -p --single-transaction --databases workflow --set-gtid-purged=off - d > /opt/233_13314_kb.bak

1.4.4 Importar uma tabela vazia no lado de destino

mysql -u root -p < /opt/233_13314_kb.bak

1.4.5 Drop tablespace

# gerar sql

select concat('alter table ',table_name,' discard tablespace;') from information_schema.`TABLES` where table_schema='workflow'

#Execute o sql gerado

1.4.6 Copie o arquivo ibd e o arquivo cfg no arquivo de backup para o diretório do banco de dados de destino

[fluxo de trabalho root@mysql-235]# pwd

/data/mysql/data/13320_temp/workflow_bak_0514/workflow

cp *.cfg /data/mysql/data/13316/workflow/

cp *.ibd /data/mysql/data/13316/workflow/

1.4.7 Alterar proprietário do arquivo

cd /data/mysql/data/13316/workflow

ls -ltr Veja o proprietário dos arquivos existentes e altere os arquivos cfg, ibd e outros recém-copiados para o mesmo proprietário. Por exemplo, aqui está:

chown -R actiontech-mysql:mysql *

1.4.8 Importar tablespace

# gerar sql

select concat('alter table ',table_name,' import tablespace;') from information_schema.`TABLES` where table_schema='workflow'

#Execute o sql gerado

1.5 Configurar a replicação mestre-escravo

1.5.1 Adicionar parâmetros de filtro

#Modifique o arquivo de configuração da biblioteca

vi meu.cnf

Adicionar à:

replica_wild_do_table=fluxo de trabalho.%

#Reinicie a biblioteca slave para que os parâmetros tenham efeito, exemplo:

systemctl parar mysqld_13316

systemctl start mysqld_13316

1.5.2 Configurando a replicação mestre-escravo

1.5.2.1 definir gtid_purged

Obtenha xtrabackup_binlog_info no arquivo de backup

redefinir mestre;

set global gtid_purged=' A localização obtida acima ';

1.5.2.2 alterar mestre

mude master para master_host=' master library ip ', master_port= master library port , master_user='universe_op', master_password=' password ', master_auto_position=1;

iniciar escravo;

mostrar status de escravo;

1.5.3 Sincronize manualmente funções, procedimentos armazenados, gatilhos, eventos, etc.

Na sincronização manual, é melhor sincronizar manualmente no dia da transição

Acho que você gosta

Origin blog.csdn.net/YABIGNSHI/article/details/130694800
Recomendado
Clasificación