duminică, 11 decembrie 2011

Repararea unei baze de date MySQL din consola

Se intampla uneori ca mai multe baze de date sa fie corupte datorita unei incarcari foarte mari sau a opririi fortate (kill -9) a serverului de baze de date. In cazul acesta exista posibilitatea recuperarii bazelor de date corupte folosind comanda myisamchk. Operatiunea va trebui facuta in felul urmator:

1. Se opreste serverul MySQL

# /usr/local/etc/rc.d/mysql-server stop
E posibil sa difere calea si numele scriptului de pornire. In Linux se foloseste de obicei
# /etc/rc.d/init.d/mysql stop
# /etc/init.d/mysql stop (Debian, Ubuntu)

2. Se intra in directorul bazei de date si se ruleaza comanda myisamchk:

# cd /var/db/mysql/user_NumeDB/
# cd /var/lib/mysql/user_NumeDB/ (Debian, Ubuntu)
# myisamchk -r *.MYI

3. Se reporneste serverul MySQL

# /usr/local/etc/rc.d/mysql-server start
# /etc/init.d/mysql start (Debian, Ubuntu)

Daca sunt mai multe baze de date corupte comenzile de la pasul 2 se pot inlocui cu:

# cd /var/db/mysql
# cd /var/lib/mysql/user_NumeDB/ (Debian, Ubuntu)
# find . -type f -name "*.MYI" | xargs myismachk -r

Niciun comentariu:

Trimiteți un comentariu