quinta-feira, 2 de junho de 2011

mysql repair + /tmp filling up

Isto acontece quando se tem um /tmp separado, e quando é necessário realizar um repair em alguma tabela, do nada o /tmp fica em 100%, normalmente isto acontece quando deixamos um /tmp com menos de 2GB.

Para resolver este problema temos 2 soluções, a primeira é redimensionar o /tmp

# /etc/init.d/mysql stop
# cp -af /var/tmp /var/tmp.bak
# umount /var/tmp
# umount /tmp
# rm -f /usr/tmpDSK
# dd if=/dev/zero of=/usr/tmpDSK bs=1024 count=1048576
# mkfs /usr/tmpDSK
# tune2fs -j /usr/tmpDSK
# mount -t ext3 -o nosuid,noexec,loop /usr/tmpDSK /tmp
# mount -o bind,noexec,nosuid /tmp /var/tmp
# cp -a /var/tmp.bak/* /tmp/
# rm -rf /var/tmp.bak/
# chmod 1777 /tmp
# /etc/init.d/mysql start

A segunda é alterar a opção do /etc/my.cnf tmpdir e apontar para o novo diretório em uma partição maior:

1) mkdir -p /home/my
2) chown -R mysql.mysql /home/my
3) add tmpdir=/home/my inside /etc/my.cnd
4) /etc/init/mysql restart && tail -f /var/lib/mysql/$(hostname).err
5) repair the table

0 comentários:

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Powered by Blogger | Printable Coupons