]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manual/mysql.tex
work in progress
[bacula/docs] / docs / manual / mysql.tex
index 06d05b2ad8eacba94cb5aee5b7d2f3f781110088..75cc6f0e8f601adabe907de723998bf961c8bed0 100644 (file)
@@ -1,27 +1,22 @@
 %%
 %%
 
-\section*{Installing and Configuring MySQL}
-\label{_ChapterStart}
+\chapter{Installing and Configuring MySQL}
+\label{MySqlChapter}
 \index[general]{MySQL!Installing and Configuring }
 \index[general]{Installing and Configuring MySQL }
-\addcontentsline{toc}{section}{Installing and Configuring MySQL}
 
-\subsection*{Installing and Configuring MySQL -- Phase I}
+\section{Installing and Configuring MySQL -- Phase I}
 \index[general]{Installing and Configuring MySQL -- Phase I }
 \index[general]{Phase I!Installing and Configuring MySQL -- }
-\addcontentsline{toc}{subsection}{Installing and Configuring MySQL -- Phase I}
 
-If you use the ./configure \verb{--{with-mysql=mysql-directory statement for
-configuring {\bf Bacula}, you will need MySQL version 3.23.53 or later
-installed in the {\bf mysql-directory}.
-Bacula has been tested on MySQL version 4.1.12 and works providing
-you are running it in the default installation that is compatible
-with MySQL 3.23.x.  If you are using one of the new modes such
-as ANSI/ISO compatibility, you may experience problems.
+If you use the ./configure \verb:--:with-mysql=mysql-directory statement for
+configuring {\bf Bacula}, you will need MySQL version 4.1 or later installed
+in the {\bf mysql-directory}.  If you are using one of the new modes such as
+ANSI/ISO compatibility, you may experience problems.
 
 If MySQL is installed in the standard system location, you need only enter
-{\bf \verb{--{with-mysql} since the configure program will search all the
+{\bf \verb:--:with-mysql} since the configure program will search all the
 standard locations.  If you install MySQL in your home directory or some
 other non-standard directory, you will need to provide the full path to it.
 
@@ -31,9 +26,36 @@ it on our machines. Please note that our configuration leaves MySQL without
 any user passwords. This may be an undesirable situation if you have other
 users on your system. 
 
+The notes below describe how to build MySQL from the source tar files. If
+you have a pre-installed MySQL, you can return to complete the installation
+of Bacula, then come back to Phase II of the MySQL installation.  If you
+wish to install MySQL from rpms, you will probably need to install
+the following:
+
+\footnotesize
+\begin{verbatim}
+mysql-<version>.rpm
+mysql-server-<version>.rpm
+mysql-devel-<version>.rpm
+\end{verbatim}
+\normalsize
+The names of the packages may vary from distribution to
+distribution. It is important to have the devel package loaded as
+it contains the libraries and header files necessary to build
+Bacula.  There may be additional packages that are required to 
+install the above, for example, zlib and openssl.   
+
+Once these packages are installed, you will be able to build Bacula (using
+the files installed with the mysql package, then run MySQL using the
+files installed with mysql-server. If you have installed MySQL by rpms,
+please skip Phase I below, and return to complete the installation of
+Bacula, then come back to Phase II of the MySQL installation when indicated
+to do so.
+
 Beginning with Bacula version 1.31, the thread safe version of the
-MySQL client library is used, and hence you must add the {\bf
-\verb{--{enable-thread-safe-client} option to the {\bf ./configure} as shown below: 
+MySQL client library is used, and hence you should add the {\bf
+\verb:--:enable-thread-safe-client} option to the {\bf
+./configure} as shown below:
 
 \begin{enumerate}
 \item Download MySQL source code from 
@@ -46,16 +68,16 @@ MySQL client library is used, and hence you must add the {\bf
 Note, the above command requires GNU tar. If you do not  have GNU tar, a
 command such as:
 
-{\bf zcat mysql-filename | tar xvf - 
+{\bf zcat mysql-filename | tar xvf - }  
 
-}  will probably accomplish the same thing. 
+will probably accomplish the same thing. 
 
 \item cd {\bf mysql-source-directory}
 
    where you replace {\bf mysql-source-directory} with the  directory name where
    you put the MySQL source code.  
 
-\item ./configure \verb{--{enable-thread-safe-client \verb{--{prefix=mysql-directory
+\item ./configure \verb:--:enable-thread-safe-client \verb:--:prefix=mysql-directory
 
    where you replace {\bf mysql-directory} with the directory  name where you
    want to install mysql. Normally for system  wide use this is /usr/local/mysql.
@@ -91,18 +113,16 @@ second phase of the MySQL installation are created during the Bacula
 Installation. 
 
 \label{mysql_phase2}
-\subsection*{Installing and Configuring MySQL -- Phase II}
+\section{Installing and Configuring MySQL -- Phase II}
 \index[general]{Installing and Configuring MySQL -- Phase II }
 \index[general]{Phase II!Installing and Configuring MySQL -- }
-\addcontentsline{toc}{subsection}{Installing and Configuring MySQL -- Phase
-II}
 
 At this point, you should have built and installed MySQL, or already have a
 running MySQL, and you should have configured, built and installed {\bf
 Bacula}. If not, please complete these items before proceeding. 
 
 Please note that the {\bf ./configure} used to build {\bf Bacula} will need to
-include {\bf \verb{--{with-mysql=mysql-directory}, where {\bf mysql-directory} is the
+include {\bf \verb:--:with-mysql=mysql-directory}, where {\bf mysql-directory} is the
 directory name that you specified on the ./configure command for configuring
 MySQL. This is needed so that Bacula can find the necessary include headers
 and library files for interfacing to MySQL. 
@@ -122,12 +142,11 @@ Now you will create the Bacula MySQL database and the tables that Bacula uses.
 \begin{enumerate}
 \item Start {\bf mysql}. You might want to use the {\bf startmysql}  script
    provided in the Bacula release.  
-\item cd \lt{}install-directory\gt{}
 
+\item cd \lt{}install-directory\gt{}
    This directory contains the Bacula catalog  interface routines.  
 
 \item ./grant\_mysql\_privileges
-
    This script creates unrestricted access rights for the user {\bf bacula}. 
    You may  want to modify it to suit your situation. Please
    note that none of the userids, including root, are password protected.  
@@ -135,16 +154,15 @@ Now you will create the Bacula MySQL database and the tables that Bacula uses.
    and to bacula. The program {\bf mysqladmin} can be used for this.
 
 \item ./create\_mysql\_database
-
-   This script creates the MySQL {\bf bacula} database.  The databases you create
-as well as the access databases  will be located in \lt{}install-dir\gt{}/var/
-in a subdirectory  with the name of the database, where \lt{}install-dir\gt{}
-is the  directory name that you specified on the {\bf \verb{--{prefix} option. This 
-can be important to know if you want to make a special backup  of the Bacula
-database or to check its size.  
+   This script creates the MySQL {\bf bacula} database.  The databases you
+   create as well as the access databases will be located in
+   \lt{}install-dir\gt{}/var/ in a subdirectory with the name of the
+   database, where \lt{}install-dir\gt{} is the directory name that you
+   specified on the {\bf \verb:--:prefix} option.  This can be important to
+   know if you want to make a special backup of the Bacula database or to
+   check its size.
 
 \item ./make\_mysql\_tables
-
    This script creates the MySQL tables used by {\bf Bacula}. 
 \end{enumerate}
 
@@ -164,10 +182,9 @@ select * from user;
 \end{verbatim}
 \normalsize
 
-\subsection*{Re-initializing the Catalog Database}
+\section{Re-initializing the Catalog Database}
 \index[general]{Database!Re-initializing the Catalog }
 \index[general]{Re-initializing the Catalog Database }
-\addcontentsline{toc}{subsection}{Re-initializing the Catalog Database}
 
 After you have done some initial testing with {\bf Bacula}, you will probably
 want to re-initialize the catalog database and throw away all the test Jobs
@@ -196,18 +213,18 @@ end of file mark on the volume so that Bacula can reuse it. Do so with:
 Where you should replace {\bf /dev/nst0} with the appropriate tape drive
 device name for your machine. 
 
-\subsection*{Linking Bacula with MySQL}
+\section{Linking Bacula with MySQL}
 \index[general]{Linking Bacula with MySQL }
 \index[general]{MySQL!Linking Bacula with }
-\addcontentsline{toc}{subsection}{Linking Bacula with MySQL}
+\index[general]{Upgrading}
 
 After configuring Bacula with 
 
-./configure \verb{--{enable-thread-safe-client \verb{--{prefix=\lt{}mysql-directory\gt{}
+./configure \verb:--:enable-thread-safe-client \verb:--:prefix=\lt{}mysql-directory\gt{}
 where \lt{}mysql-directory\gt{} is in my case {\bf /home/kern/mysql}, you may
 have to configure the loader so that it can find the MySQL shared libraries.
 If you have previously followed this procedure and later add the {\bf
-\verb{--{enable-thread-safe-client} options, you will need to rerun the {\bf
+\verb:--:enable-thread-safe-client} options, you will need to rerun the {\bf
 ldconfig} program shown below. If you put MySQL in a standard place such as
 {\bf /usr/lib} or {\bf /usr/local/lib} this will not be necessary, but in my
 case it is. The description that follows is Linux specific. For other
@@ -241,13 +258,29 @@ LDFLAGS="-lssl -lcyrpto" \
 \end{verbatim}
 \normalsize
 
-\subsection*{Upgrading MySQL}
+\section{Installing MySQL from RPMs}
+\index[general]{MySQL!Installing from RPMs}
+\index[general]{Installing MySQL from RPMs}
+If you are installing MySQL from RPMs, you will need to install
+both the MySQL binaries and the client libraries.  The client
+libraries are usually found in a devel package, so you must
+install:
+
+\footnotesize
+\begin{verbatim}
+  mysql
+  mysql-devel
+\end{verbatim}
+\normalsize
+
+This will be the same with most other package managers too.
+
+\section{Upgrading MySQL}
 \index[general]{Upgrading MySQL }
 \index[general]{Upgrading!MySQL }
-\addcontentsline{toc}{subsection}{Upgrading MySQL}
+\index[general]{Upgrading}
 If you upgrade MySQL, you must reconfigure, rebuild, and re-install 
 Bacula otherwise you are likely to get bizarre failures.  If you
 install from rpms and you upgrade MySQL, you must also rebuild Bacula.
 You can do so by rebuilding from the source rpm. To do so, you may need
-eo modify the bacula.spec file to account for the new MySQL version.
-
+to modify the bacula.spec file to account for the new MySQL version.