repair table, alter table, mysqlcheck nunca terminam.
Tenho uma tabela de nome ibf_posts.
Esta tabela possui aproximadamente
1milhão de linhas;
1GB de espaço em dísco
Os comandos repair table, alter table, optimize table e mysqlcheck quando executados na linha de comando via ssh começam e simplesmente não terminam.
Para recuperar o banco hoje eu utilizo o myisamchk, mas tive que alterar o my.cnf e mudar a pasta de arquivos temporários
tmpdir = /home/mysqltempAlém disso o my.cnf original foi substituido pelo large.cnf
Aqui embaixo seguem as informações sobre as partições com o comandos fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 547 4192965 82 Linux swap / Solaris
/dev/sda3 548 612 522112+ 83 Linux
/dev/sda4 613 19457 151372462+ 5 Extended
/dev/sda5 613 19457 151372431 83 Linuxaqui seguem informações obtidas com o describe ibf_posts;
+------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+----------------+
| pid | int(10) | NO | PRI | NULL | auto_increment |
| append_edit | tinyint(1) | YES | | 0 | |
| edit_time | int(10) | YES | | NULL | |
| author_id | mediumint(8) | NO | MUL | 0 | |
| author_name | varchar(32) | YES | | NULL | |
| use_sig | tinyint(1) | NO | | 0 | |
| use_emo | tinyint(1) | NO | | 0 | |
| ip_address | varchar(16) | NO | MUL | | |
| post_date | int(10) | YES | MUL | NULL | |
| icon_id | smallint(3) | YES | | NULL | |
| post | mediumtext | YES | MUL | NULL | |
| queued | tinyint(1) | NO | | 0 | |
| topic_id | int(10) | NO | MUL | 0 | |
| post_title | varchar(255) | YES | | NULL | |
| new_topic | tinyint(1) | YES | | 0 | |
| edit_name | varchar(255) | YES | | NULL | |
| post_key | varchar(32) | NO | MUL | 0 | |
| post_parent | int(10) | NO | | 0 | |
| post_htmlstate | smallint(1) | NO | | 0 | |
| post_thanks | text | YES | | NULL | |
| post_edit_reason | varchar(255) | NO | | | |
+------------------+--------------+------+-----+---------+----------------+
A versão do mysql
5.0.45
Informações sobre o hardware
AMD PH-9850 Quad-Core
4GB RAM
160GB SATA2
Enterprise Linux - CentOS - 64 bitsEsse banco era rodado em um fedora com um processador um pouco mais modesto e já vinha apresentando esse problema, há uma semana migrei o conteúdo deste servidor para este que passei as informações mas o problema veio junto.O que mais me incomoda é o fato de eu ter baixado um backup desse banco para o meu pc e conseguir recuperar em 15 minutos mas com o Ubuntu 8.10, em um Celeron.
Já procurei em todos os lugares uma forma de resolver isso, mas não consigo.
Eu queria trocar os campos varchar da tabela por char mas não consigo pq trava, além disso tenho outros bancos no servidor e não queria colocar off o server para recuperar ou otimizar as tabelas.
De qualquer forma eu suponho que o problema seja falta de memória temporária, mas como não achei nada então queria ver se alguém têm alguma idéia do que possa ser ou me passar um caminho.
Espero ter passado todas as informações necessárias
Obrigado!
Discussão (4)
Carregando comentários...