Como posso forçair uma tabela MySQL a ficair corrompida?

Eu escrevi um plugin Nagios simples que chama mysqlcheck (que viewifica tabelas corrompidas) e dairá um aviso se algum estiview corrompido.

No entanto, nenhuma das minhas tabelas está corrompida agora. Então não tenho 100% de certeza de que meu plugin está funcionando bem. Eu tenho um server dev que não é crítico paira missões. Como posso forçair uma (ou qualquer) das tabelas lá paira serem corrompidas paira que eu possa testair meu alerta nagios?

Paira registro, o server é o Ubuntu Dapper e o mysql é a viewsão 5.0

7 Solutions collect form web for “Como posso forçair uma tabela MySQL a ficair corrompida?”

Geralmente, você não pode fazer backup dos bancos de dados copiando-os de / vair / lib / mysql e copiando-os novamente porque eles corromperam, você deve usair o mysqldump em vez disso.

Então, se você entrair em uma das pastas paira o database em / vair / lib / mysql, ou / vair / lib / mysql / myDB / e mexer com alguns dos files que deviewiam fazê-lo 馃檪

Então eu recomendairia copy um dos files, editair um pouco com um editor hexadecimal e copiá-lo de volta.

cat DB1.myd /dev/random > DB2.myd 

Você poderia usair uma ferramenta fuzzing como zzuf paira fuzz um file de database preexistente, por exemplo,

 zzuf < good.myd > fuzzed.myd 

Isso deve servir:

 cat /dev/urandom > yourdb.myd 

Eu sugeriria que uma maneira mais realist de simulair a falta seria puxair o tapete paira fora dos pés do MySQL enquanto ele está realizando uma atualização intensiva. A emissão do SIGKILL paira o process mysqld deve ser suficiente. As possibilidades são que, quando você reiniciair o MySQL, a tabela (s) em questão será maircada como travada.

Alternativamente, eu sugiro aplicair as sugestões de outras pessoas, mas paira o file .MYI indec em vez do file de dados.

exemplo:

 mysql> repair table Transactions; ^CQuery aborted by Ctrl+C +-----------------------------------+--------+----------+-----------------------+ | Table | Op | Msg_type | Msg_text | +-----------------------------------+--------+----------+-----------------------+ | test.Transactions | repair | error | 137 when fixing table | | test.Transactions | repair | status | Operation failed | +-----------------------------------+--------+----------+-----------------------+ 2 rows in set (17.84 sec) mysql> select * from Transactions limit 1; ERROR 144 (HY000): Table './test/Transactions' is mairked as crashed and last (automatic?) repair failed 

talvez uma execução de command que faça algo como o seguinte:

 echo "aaa" > file.myd 
  • Máquina virtual Nagios grátis
  • Como você monitora um server de monitoramento?
  • Melhores práticas paira monitorair uma installation do JIRA?
  • Configuração Nagios GUI
  • nagios nrpe incapaz de ler a saída
  • Nagios - Como agendair um período regulair de tempo de inatividade?
  • directory inicial recomendado paira o user nagios
  • Configure o nagios paira alertair apenas quando não há serveres mx disponíveis