]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manual/catmaintenance.tex
Updates
[bacula/docs] / docs / manual / catmaintenance.tex
index 576b4f1592d24543b125ee52280c56aa5e352376..637b3acc8ee9518714103f1e28d72d4825c40f13 100644 (file)
@@ -173,11 +173,52 @@ running dbcheck before (or possibly after) using the MySQL database repair
 program. It can clean up many of the orphaned record problems, and certain
 other inconsistencies in the Bacula database. 
 
+A typical cause of MySQL database problems is if your partition fills. In
+such a case, you will need to create additional space on the partition or
+free up some space then repair the database probably using {\bf myisamchk}.
+Recently my root partition filled and the MySQL database was corrupted.
+Simply running {\bf myisamchk -r} did not fix the problem. However,
+the following script did the trick for me:
+
+\footnotesize
+\begin{verbatim}
+#!/bin/sh
+for i in *.MYD ; do
+  mv $i x${i}
+  t=`echo $i | cut -f 1 -d '.' -`
+  mysql bacula <<END_OF_DATA
+set autocommit=1;
+truncate table $t;
+quit
+END_OF_DATA
+  cp x${i} ${i}
+  chown mysql:mysql ${i}
+  myisamchk -r ${t}
+done
+\end{verbatim}
+\normalsize
+
+I invoked it with the following commands:
+
+\footnotesize
+\begin{verbatim}
+cd /var/lib/mysql/bacula
+./repair
+\end{verbatim}
+\normalsize
+
+Then after ensuring that the database was correctly fixed, I did:
+\footnotesize
+\begin{verbatim}
+cd /var/lib/mysql/bacula
+rm -f x*.MYD
+\end{verbatim}
+\normalsize
+
 \section{MySQL Table is Full}
 \index[general]{Database!MySQL Table is Full}
 \index[general]{MySQL Table is Full}
 
-
 If you are running into the error {\bf The table 'File' is full ...}, 
 it is probably because on version 4.x MySQL, the table is limited by   
 default to a maximum size of 4 GB and you have probably run into