terça-feira, 20 de dezembro de 2022

Linux / Bash - Copiar apenas a Estrutura de Diretórios

No Linux/bash para copiar uma estrtura de diretório, pode-se usar o comando abaixo. Para tanto, deve-se estar no diretório de origem:

find -type d -links 2 -exec mkdir -p "/path/to/backup/{}" \;


Dica orginal de: http://devblog.drall.com.br/como-copiar-somente-uma-estrutura-de-diretorios-sem-os-arquivos-no-linux

quarta-feira, 21 de setembro de 2022

MySQLDUMP - Novos atributos / opções

Nova versão do mysqldump, possui alguns defaults que podem ocasionar erros na execução. Para contornar:

1) "mysqldump: Couldn't execute 'SELECT COLUMN_NAME,                       JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"')                FROM information_schema.COLUMN_STATISTIC"

usar opção --column-statistics=0


2) "mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces"


usar opção --no-tablespaces


quinta-feira, 8 de setembro de 2022

MySQLDUMP - Remover DEFINER

 A partir da versão 5.7.8 do MySQL é possível no mysqldump remover o DEFINER usando o parâmetro --skip-definer. Porém antes desta versão, podemos usar o SED como abaixo:


sed -i 's/DEFINER=[^*]*\*/\*/g' mydump.sql
ou 
sed -i 's/\sDEFINER=`[^`]*`@`[^`]*`//g'
Dica retirada de: https://stackoverflow.com/questions/9446783/remove-definer-clause-from-mysql-dumps