Atualização automática do Mysql em servidores Linux

1

Estamos executando alguns servidores linux de host compartilhados e um privado. Estamos executando licenças cPanel / WHM sob eles.

A situação que estou enfrentando é:

Como posso executar o seguinte comando automaticamente?

mysqlcheck -u raiz -p --auto-repair --check --optimize --all-databases

O problema é que sou solicitado a fornecer a senha de root, mas gostaria de executar esse comando automaticamente e o prompt de senha faz a intrerupção desse processo.

Por favor me ajude.

    
por andrei.troll 25.10.2012 / 08:23

3 respostas

1

Armazene suas credenciais raiz em um arquivo que somente o usuário root possa acessar. Em seguida, basta passar o nome de arquivo das credenciais.

mysqlcheck --defaults-file=/etc/mysql/root.cnf  --auto-repair --check --optimize --all-databases

/etc/mysql/root.cnf

[client]
host     = servername.domain.tld
user     = backup
password = strongpassword

Isso não cria uma enorme vulnerabilidade de segurança, desde que /etc/mysql/root.cnf seja legível apenas pelo root, já que o usuário root poderia facilmente redefinir as senhas do mysql sem precisar de nenhuma credencial mysql.

    
por 25.10.2012 / 08:42
2

Você pode colocar a senha necessária na seção [client] do seu ~ / .my.cnf ou em um arquivo de configuração adicional que você especificar com --defaults-extra-file=path/to/yourconfig.cnf

Para mais detalhes, consulte o segmento arquivo de opções a documentação do MySQL.

    
por 25.10.2012 / 08:42
0

Você poderia apenas fornecer a senha na linha de comando. Claro que isso tem alguns problemas de privacidade / segurança.

mysqlcheck -uroot -pPASSWORD --auto-repair --check --optimize --all-databases
    
por 25.10.2012 / 08:55