Preciso migrar um banco de dados que era gerenciado por alguém que saiu da empresa. O servidor de origem é MariaDB 1:10.5.5, o MariaDB de destino 1:10.5.19.
Os scripts de backup existentes usam o seguinte comando:
mysqldump --max_allowed_packet=5120M -u root -p my_db > my_dump.sql
Ambos os servidores têm as seguintes configurações em /etc/mysql/conf.d/mysqldump.cnf:
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
Em /etc/mysql/mariadb.conf.d/50-server.cnf:
max_allowed_packet=524288000
(-> = 500MB)
Não sei por que, mas deve haver uma razão para ter sido definido assim.
Não entendo por que usar "--max_allowed_packet=5120M" na linha de comando.
Ele não se encaixa nas configurações do servidor e a documentação do MySQL diz que o valor max_allowed_packet mysqldump não deve exceder o valor do servidor e que o protocolo tem um valor máximo de 1G.
Se eu executar "mysqldump --max_allowed_packet=5120M -u root -p my_db > my_dump.sql" manualmente,
Recebo este aviso: "Aviso: opção 'max_allowed_packet': valor não assinado 5368709120 ajustado para 2147483648"
Como posso despejar esse banco de dados com segurança? Preciso ter certeza de que não perco nenhum dado e que ele será importado no novo servidor. Tenho que usar "max_allowed_packet"? Talvez com o mesmo valor do servidor (524288000) ?
Obrigado!
Contanto que seja menor que o limite em ambas as extremidades e você não tenha blobs muito grandes em seu banco de dados que excedam o tamanho do pacote, você deseja perder dados usando um tamanho de pacote menor ou um tamanho de pacote diferente em cada extremidade da troca.