mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
5cc2096f93
Perl DBD::MariaDB driver is available CPAN and is already used in production environment.
194 lines
8.6 KiB
Text
194 lines
8.6 KiB
Text
MariaDB and MySQL have identical install methods. In this document we
|
|
describe how to install MariaDB.
|
|
|
|
The full documentation for installing MariaDB can be found at
|
|
https://mariadb.com/kb/en/library/binary-packages/
|
|
However most documentation at www.mysql.com also applies.
|
|
|
|
2.2. Installing MariaDB from Generic Binaries on Unix/Linux
|
|
|
|
This section covers the installation of MariaDB binary distributions
|
|
that are provided for various platforms in the form of compressed
|
|
tar files (files with a .tar.gz extension).
|
|
|
|
MariaDB tar file binary distributions have names of the form
|
|
mariadb-VERSION-OS.tar.gz, where VERSION is a number (for example,
|
|
5.1.39), and OS indicates the type of operating system for which
|
|
the distribution is intended (for example, pc-linux-i686).
|
|
|
|
You need the following tools to install a MariaDB tar file binary
|
|
distribution:
|
|
|
|
* GNU gunzip to uncompress the distribution.
|
|
|
|
* A reasonable tar to unpack the distribution. GNU tar is known
|
|
to work. Some operating systems come with a preinstalled
|
|
version of tar that is known to have problems. For example,
|
|
the tar provided with early versions of Mac OS X, SunOS 4.x,
|
|
Solaris 8, Solaris 9, Solaris 10 and OpenSolaris, and HP-UX
|
|
are known to have problems with long file names. On Mac OS X,
|
|
you can use the preinstalled gnutar program. On Solaris 10 and
|
|
OpenSolaris you can use the preinstalled gtar. On other
|
|
systems with a deficient tar, you should install GNU tar
|
|
first.
|
|
|
|
If you run into problems and need to file a bug report,
|
|
please report them to: http://mariadb.org/jira
|
|
|
|
See the instructions at
|
|
https://mariadb.com/kb/en/mariadb-community-bug-reporting
|
|
|
|
The basic commands that you must execute to install and use a
|
|
MariaDB binary distribution are:
|
|
|
|
shell> groupadd mysql
|
|
shell> useradd -g mysql mysql
|
|
shell> cd /usr/local
|
|
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
|
|
shell> ln -s full-path-to-mysql-VERSION-OS mysql
|
|
shell> cd mysql
|
|
shell> chown -R mysql .
|
|
shell> chgrp -R mysql .
|
|
shell> scripts/mysql_install_db --user=mysql
|
|
shell> chown -R root .
|
|
shell> chown -R mysql data
|
|
shell> bin/mysqld_safe --user=mysql &
|
|
|
|
Note
|
|
|
|
This procedure does not set up any passwords for MariaDB accounts.
|
|
After following the procedure, proceed to Section 2.13,
|
|
"Post-Installation Setup and Testing."
|
|
|
|
A more detailed version of the preceding description for
|
|
installing a binary distribution follows:
|
|
|
|
1. Add a login user and group for mysqld to run as:
|
|
shell> groupadd mysql
|
|
shell> useradd -g mysql mysql
|
|
These commands add the mysql group and the mysql user. The
|
|
syntax for useradd and groupadd may differ slightly on
|
|
different versions of Unix, or they may have different names
|
|
such as adduser and addgroup.
|
|
You might want to call the user and group something else
|
|
instead of mysql. If so, substitute the appropriate name in
|
|
the following steps.
|
|
|
|
2. Pick the directory under which you want to unpack the
|
|
distribution and change location into it. In the following
|
|
example, we unpack the distribution under /usr/local. (The
|
|
instructions, therefore, assume that you have permission to
|
|
create files and directories in /usr/local. If that directory
|
|
is protected, you must perform the installation as root.)
|
|
shell> cd /usr/local
|
|
|
|
3. Obtain a distribution file using the instructions at
|
|
https://mariadb.com/kb/en/library/where-to-download-mariadb/
|
|
The description below describes how to install a MariaDB tar file.
|
|
|
|
4. Unpack the distribution, which creates the installation
|
|
directory. Then create a symbolic link to that directory:
|
|
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
|
|
shell> ln -s full-path-to-mysql-VERSION-OS mysql
|
|
The tar command creates a directory named mysql-VERSION-OS.
|
|
The ln command makes a symbolic link to that directory. This
|
|
lets you refer more easily to the installation directory as
|
|
/usr/local/mysql.
|
|
With GNU tar, no separate invocation of gunzip is necessary.
|
|
You can replace the first line with the following alternative
|
|
command to uncompress and extract the distribution:
|
|
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
|
|
|
|
5. Change location into the installation directory:
|
|
shell> cd mysql
|
|
You will find several files and subdirectories in the mysql
|
|
directory. The most important for installation purposes are
|
|
the bin and scripts subdirectories:
|
|
|
|
+ The bin directory contains client programs and the
|
|
server. You should add the full path name of this
|
|
directory to your PATH environment variable so that your
|
|
shell finds the MariaDB programs properly. See Section
|
|
2.14, "Environment Variables."
|
|
|
|
+ The scripts directory contains the mysql_install_db
|
|
script used to initialize the mysql database containing
|
|
the grant tables that store the server access
|
|
permissions.
|
|
|
|
6. Ensure that the distribution contents are accessible to mysql.
|
|
If you unpacked the distribution as mysql, no further action
|
|
is required. If you unpacked the distribution as root, its
|
|
contents will be owned by root. Change its ownership to mysql
|
|
by executing the following commands as root in the
|
|
installation directory:
|
|
shell> chown -R mysql .
|
|
shell> chgrp -R mysql .
|
|
The first command changes the owner attribute of the files to
|
|
the mysql user. The second changes the group attribute to the
|
|
mysql group.
|
|
|
|
7. If you have not installed MariaDB before, you must create the
|
|
MariaDB data directory and initialize the grant tables:
|
|
shell> scripts/mysql_install_db --user=mysql
|
|
If you run the command as root, include the --user option as
|
|
shown. If you run the command while logged in as that user,
|
|
you can omit the --user option.
|
|
The command should create the data directory and its contents
|
|
with mysql as the owner.
|
|
After creating or updating the grant tables, you need to
|
|
restart the server manually.
|
|
|
|
8. Most of the MariaDB installation can be owned by root if you
|
|
like. The exception is that the data directory must be owned
|
|
by mysql. To accomplish this, run the following commands as
|
|
root in the installation directory:
|
|
|
|
shell> chown -R root .
|
|
shell> chown -R mysql data
|
|
|
|
9. If you want MariaDB to start automatically when you boot your
|
|
machine, you can copy support-files/mysql.server to the
|
|
location where your system has its startup files. More
|
|
information can be found in the support-files/mysql.server
|
|
script itself and at
|
|
https://mariadb.com/kb/en/starting-and-stopping-mariadb-automatically.
|
|
10. You can set up new accounts using the bin/mysql_setpermission
|
|
script if you install the DBI and DBD::MariaDB Perl modules. See
|
|
Section 4.6.14, "mysql_setpermission --- Interactively Set
|
|
Permissions in Grant Tables." For Perl module installation
|
|
instructions, see Section 2.15, "Perl Installation Notes."
|
|
11. If you would like to use mysqlaccess and have the MariaDB
|
|
distribution in some nonstandard location, you must change the
|
|
location where mysqlaccess expects to find the mysql client.
|
|
Edit the bin/mysqlaccess script at approximately line 18.
|
|
Search for a line that looks like this:
|
|
$MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
|
|
Change the path to reflect the location where mysql actually
|
|
is stored on your system. If you do not do this, a Broken pipe
|
|
error will occur when you run mysqlaccess.
|
|
|
|
After everything has been unpacked and installed, you should test
|
|
your distribution. To start the MariaDB server, use the following
|
|
command:
|
|
shell> bin/mysqld_safe --user=mysql &
|
|
|
|
If you run the command as root, you must use the --user option as
|
|
shown. The value of the option is the name of the login account
|
|
that you created in the first step to use for running the server.
|
|
If you run the command while logged in as mysql, you can omit the
|
|
--user option.
|
|
|
|
If the command fails immediately and prints mysqld ended, you can
|
|
find some information in the host_name.err file in the data
|
|
directory.
|
|
|
|
More information about mysqld_safe can be found at
|
|
https://mariadb.com/kb/en/mysqld_safe
|
|
|
|
Note
|
|
|
|
The accounts that are listed in the MariaDB grant tables initially
|
|
have no passwords. After starting the server, you should set up
|
|
passwords for them using the instructions in Section 2.13,
|
|
"Post-Installation Setup and Testing."
|