Difference between revisions of "MariaDB"

From ArchWiki
Jump to: navigation, search
m
(27 intermediate revisions by 13 users not shown)
Line 1: Line 1:
[[Category:Daemons and system services (English)]]
+
[[Category:Database management systems]]
[[Category:Database management systems (English)]]
+
[[fr:MariaDB]]
[[Category:HOWTOs (English)]]
+
[[ja:MariaDB]]
{{i18n|MariaDB}}
+
 
+
 
MariaDB is a reliable, high performance and full-featured database server which aims to be an 'always Free, backward compatible, drop-in' replacement of the [[MySQL]] Server. It is distributed under the GPLv2 license.
 
MariaDB is a reliable, high performance and full-featured database server which aims to be an 'always Free, backward compatible, drop-in' replacement of the [[MySQL]] Server. It is distributed under the GPLv2 license.
  
Started as a fork of MySQL by Widenius (creator of both servers), MariaDB is a project developed by the open source community under the technocracy model. Monty Program Ab, who employees most of the original core MySQL developers, is currently the main steward for the project.
+
Started as a fork of MySQL by Widenius (creator of both servers), MariaDB is a project developed by the open source community under the technocracy model. Monty Program Ab employs most of the original core MySQL developers, and is currently the main steward for the project.
  
 
MariaDB is kept up to date with the latest MySQL release from the same branch. A merge from the main MySQL branch is done for every new MySQL release or when there is some critical bugfix applied to the main branch.
 
MariaDB is kept up to date with the latest MySQL release from the same branch. A merge from the main MySQL branch is done for every new MySQL release or when there is some critical bugfix applied to the main branch.
  
 
The intent also being to maintain high fidelity with MySQL, ensuring a "drop-in" replacement capability with library binary equivalency and exacting matching with MySQL APIs and commands.
 
The intent also being to maintain high fidelity with MySQL, ensuring a "drop-in" replacement capability with library binary equivalency and exacting matching with MySQL APIs and commands.
 
  
 
== Installation ==
 
== Installation ==
=== Without having MySQL installed ===
+
Install the {{Pkg|mariadb}} package from the [[Official Repositories|community repository]].
Install the [[https://aur.archlinux.org/packages/mariadb mariadb]] package from AUR
+
  
After installing, you should create the system tables in the 'mysql' database directory. Generally, this should do the job:
+
If [[MySQL]] is already installed on the system, pacman has to remove {{Pkg|mysql}}, {{Pkg|mysql-clients}} and {{Pkg|libmysqlclient}} before installing {{Pkg|mariadb}}.
  # mysql_install_db --user=mysql
+
 
 +
After installing, the mysql system tables should be installed for you automatically. If not, this should reinstall them:
 +
  # /usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
  
 
{{Note| If you experience errors or you want more information about it, read the official [[http://kb.askmonty.org/v/installing-system-tables-mysql_install_db documentation]]}}
 
{{Note| If you experience errors or you want more information about it, read the official [[http://kb.askmonty.org/v/installing-system-tables-mysql_install_db documentation]]}}
  
Now you should be able to start/stop the server
+
To start the mariadb daemon:
  # /etc/rc.d/mysqld start
+
 
 +
  # systemctl start mysqld.service
  
To start MariaDB automatically at boot, edit /etc/rc.conf and add the mysqld daemon:
+
To enable it on every boot:
# DAEMONS=(... mysqld ...)
+
  
{{Note| The recommended way to start MariaDB on Linux is with [[http://kb.askmonty.org/v/mysqld_safe mysqld_safe]], for replacement convenience it is not the default script}}
+
  # systemctl enable mysqld.service
  
 
== Configuration ==
 
== Configuration ==
  
As some [AUR helpers], there is no need of learning anything new in order to obtain the same (generally increased) functionality.
+
It is '''highly recommended''' to secure the installation after starting the daemon, using the provided tool:
 +
# mysql_secure_installation
  
If you are new to MySQL, read first the [mysql] page on this wiki.
+
If you are new to MySQL, please read the [[MySQL]] page on this wiki for additional information.

Revision as of 14:03, 3 April 2013

MariaDB is a reliable, high performance and full-featured database server which aims to be an 'always Free, backward compatible, drop-in' replacement of the MySQL Server. It is distributed under the GPLv2 license.

Started as a fork of MySQL by Widenius (creator of both servers), MariaDB is a project developed by the open source community under the technocracy model. Monty Program Ab employs most of the original core MySQL developers, and is currently the main steward for the project.

MariaDB is kept up to date with the latest MySQL release from the same branch. A merge from the main MySQL branch is done for every new MySQL release or when there is some critical bugfix applied to the main branch.

The intent also being to maintain high fidelity with MySQL, ensuring a "drop-in" replacement capability with library binary equivalency and exacting matching with MySQL APIs and commands.

Installation

Install the mariadb package from the community repository.

If MySQL is already installed on the system, pacman has to remove mysql, mysql-clients and libmysqlclient before installing mariadb.

After installing, the mysql system tables should be installed for you automatically. If not, this should reinstall them:

# /usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
Note: If you experience errors or you want more information about it, read the official [documentation]

To start the mariadb daemon:

# systemctl start mysqld.service

To enable it on every boot:

# systemctl enable mysqld.service

Configuration

It is highly recommended to secure the installation after starting the daemon, using the provided tool:

# mysql_secure_installation

If you are new to MySQL, please read the MySQL page on this wiki for additional information.