![]()
Installing and Configuring MySQLInstalling and Configuring MySQL -- Phase IIf you use the ./configure --with-mysql=mysql-directory statement for configuring Bacula, you will need MySQL version 3.23.33 or later installed in the mysql-directory (we are currently using 3.23.56). If MySQL is installed in the standard system location, you need only enter --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.Installing and Configuring MySQL is not difficult but can be confusing the first time. As a consequence, below, we list the steps that we used to install 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. Please note that as of Bacula version 1.31, the thread safe version of the MySQL client library is used, and hence you must add the --enable-thread-safe-client option to the ./configure as shown below:
At this point, you should return to completing the installation of Bacula. Later after Bacula is installed, come back to this chapter to complete the installation. Please note, the installation files used in the second phase of the MySQL installation are created during the Bacula Installation. Installing and Configuring MySQL -- Phase IIAt this point, you should have built and installed MySQL, or already have a running MySQL, and you should have configured, built and installed Bacula. If not, please complete these items before proceeding.Please note that the ./configure used to build Bacula will need to include --with-mysql=mysql-directory, where 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. Now you will create the Bacula MySQL database and the tables that Bacula uses.
To take a closer look at the access privileges that you have setup with the above, you can do: mysql-directory/bin/mysql -u root mysql Re-initializing the Catalog DatabaseAfter you have done some initial testing with Bacula, you will probably want to re-initialize the catalog database and throw away all the test Jobs that you ran. To do so, you can do the following:cd <bacula-source>/src/cats ./drop_mysql_tables ./make_mysql_tablesPlease note that all information in the database will be lost and you will be starting from scratch. If you have written on any Volumes, you must write and end of file mark on the volume so that Bacula can reuse it. Do so with: (stop Bacula or unmount the drive) mt -f /dev/nst0 rewind mt -f /dev/nst0 weofWhere you should replace /dev/nst0 with the appropriate tape drive device name for your machine. Linking Bacula with MySQLAfter configuring Bacula with./configure --enable-thread-safe-client --prefix=<mysql-directory> where <mysql-directory> is in my case /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 --enable-thread-safe-client options, you will need to rerun the ldconfig program shown below. If you put MySQL in a standard place such as /usr/lib or /usr/local/lib this will not be necessary, but in my case it is. The description that follows is Linux specific. For other operating systems, please consult your manuals on how to do the same thing:First edit: /etc/ld.so.conf and add a new line to the end of the file with the name of the mysql-directory. In my case, it is: /home/kern/mysql/lib/mysql then rebuild the loader's cache with:/sbin/ldconfig If you upgrade to a new version of MySQL, the shared library names will probably changes, and you must re-run the /sbin/ldconfig command so that the runtime loader can find them.Alternatively, your system my have a loader environment variable that can be set. For example, on a Solaris system where I do not have root permission, I use: LD_LIBRARY_PATH=/home/kern/mysql/lib/mysql Finally, if you have encryption enabled in MySQL, you may need to explicitly edit the Makefile in several of the directories to add -lssl -lcrypto to the link.
|