MariaDB-10.0.16

Introduction à MariaDB

MariaDB est un fork développé par la communauté et un remplaçant dpour le système de gestion de bases de données relationnelles MySQL.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-7.7.

Information sur le paquet

[Note]

Note

La taille installée de MariaDB est 388 Mo, mais cela puet être réduit à environ 168 Mo, si désiré, en effaçant le répertoire /usr/share/mysql/test après l'installation.

Dépendances de MariaDB

Requises

cmake-3.1.3 et OpenSSL-1.0.2

Recommandées

Facultative

boost-1.57.0, libxml2-2.9.2, Linux-PAM-1.1.8, lzo-2.09, PCRE-8.36, unixODBC-2.3.2, Valgrind-3.10.1, Groonga, KyTea, Judy, libaio, MeCab, MessagePack, mruby, Sphinx, TokuDB, and ZeroMQ,

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/mariadb

Installation de MariaDB

[Avertissement]

Avertissement

MariaDB et MuSQL ne peuvent pas être installées sur le même système sans des modifications dans la configuration de la construction de une des deux applications.

Pour des raisons de sécurité, lancer le serveur en tant qu'utilisateur et groupe sans privilèges est fortement encouragé. Tapez la suite ( en tant que root) pour créer l'utilitateur et le groupe :

groupadd -g 40 mysql &&
useradd -c "MySQL Server" -d /srv/mysql -g mysql -s /bin/false -u 40 mysql

Installez MariaDB en lançant la suite

sed -i "s@data/test@\${INSTALL_MYSQLTESTDIR}@g"        sql/CMakeLists.txt       &&
sed -i "s/srv_buf_size/srv_sort_buf_size/"      storage/innobase/row/row0log.cc &&
mkdir build &&
cd build    &&
cmake -DCMAKE_BUILD_TYPE=Release                       \
      -DCMAKE_INSTALL_PREFIX=/usr                      \
      -DINSTALL_DOCDIR=share/doc/mariadb-10.0.16       \
      -DINSTALL_DOCREADMEDIR=share/doc/mariadb-10.0.16 \
      -DINSTALL_MANDIR=share/man                       \
      -DINSTALL_MYSQLSHAREDIR=share/mysql              \
      -DINSTALL_MYSQLTESTDIR=share/mysql/test          \
      -DINSTALL_PLUGINDIR=lib/mysql/plugin             \
      -DINSTALL_SBINDIR=sbin                           \
      -DINSTALL_SCRIPTDIR=bin                          \
      -DINSTALL_SQLBENCHDIR=share/mysql/bench          \
      -DINSTALL_SUPPORTFILESDIR=share/mysql            \
      -DMYSQL_DATADIR=/srv/mysql                       \
      -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock        \
      -DWITH_EXTRA_CHARSETS=complex                    \
      -DWITH_EMBEDDED_SERVER=ON                        \
      -DTOKUDB_OK=0                                    \
      .. &&
make

Pour tester le résultat, tapez : make test.

Maintenant, en tant qu'utilisateur root :

make install

Explications des commandes

sed -i ... : Le premier sed initialise correctement le répertoire d'installation pour quelques composants. Le second sed corrige un bogue dans le code.

-DWITH_EMBEDDED_SERVER=ON: Ce paramètre active la compilation de la bibliothèque serveur embarquée nécessaire pour certaines applications, comme Amarok..

-DWITH_EXTRA_CHARSETS=complex : Ce paramètre active le support pour les ensembles de caractères complexes.

-DWITHOUT_SERVER=ON -DWITH_UNIT_TESTS=OFF : Utilisez ces paramètres si vous ne voulez pas le serveur et souhaitez construire le client seulement.

[Note]

Note

Il y a de nombreuses options disponible pour cmake. Vérifier la sortie de cmake . -LH pour des options de personnalisation supplémentaires.

Configuration de MySQL

Config Files

/etc/mysql/my.cnf et ~/.my.cnf

Information de Configuration

Créez un fichier /etc/mysql/my.cnf basique en utilisant la commande suivante en tant qu'utilisateur root :

install -v -dm 755 /etc/mysql &&
cat > /etc/mysql/my.cnf << "EOF"
# Begin /etc/mysql/my.cnf
# The following options will be passed to all MySQL clients
[client]
#password       = your_password
port            = 3306
socket          = /run/mysqld/mysqld.sock
# The MySQL server
[mysqld]
port            = 3306
socket          = /run/mysqld/mysqld.sock
datadir         = /srv/mysql
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
sort_buffer_size = 512K
net_buffer_length = 16K
myisam_sort_buffer_size = 8M
# Don't listen on a TCP/IP port at all.
skip-networking
# required unique id between 1 and 2^32 - 1
server-id       = 1
# Uncomment the following if you are using BDB tables
#bdb_cache_size = 4M
#bdb_max_lock = 10000
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /srv/mysql
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /srv/mysql
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
# End /etc/mysql/my.cnf
EOF

Vous pouvez maintenant installez une base de données et changer le propriétaire en utilisateur et groupe sans privilèges ( à faire en tant qu'utilisateur root ):

mysql_install_db --basedir=/usr --datadir=/srv/mysql --user=mysql &&
chown -R mysql:mysql /srv/mysql

Les configurations suivantes demandent que le serveur MariaDB soit lancé. Démarrez le serveur en utilisant les commandes suivantes en tant qu'utilisateur root :

install -v -m755 -o mysql -g mysql -d /run/mysqld &&
mysqld_safe --user=mysql 2>&1 >/dev/null &

Une installation par défaut n'initialise pas un mot de passe pour l'administrateur, aussi utilisez la commande suivante en tant qu'utilisateur root pour l'initialiser.

mysqladmin -u root password

La configuration du serveur est maintenant terminée. Arrêtez le serveur en utilisant la commande suivante en tant qu'utilisateur root :

mysqladmin -p shutdown

Script de démarrage

Installez le script d'initialisation /etc/rc.d/init.d/mysql inclus dans le paquet blfs-bootscripts-20150304 en tant qu'utilisateur root pour démarrer le serveur MariaDB au démarrage du système.

make install-mysql

Contenu

Programmes installés: aria_chk, aria_dump_log, aria_ftdump, aria_pack, aria_read_log, innochecksum, msql2mysql, my_print_defaults, myisam_ftdump, myisamchk, myisamlog, myisampack, mysql, mysql_client_test, mysql_client_test_embedded, mysql_config, mysql_convert_table_format, mysql_embedded, mysql_find_rows, mysql_fix_extensions, mysql_install_db, mysql_plugin, mysql_secure_installation, mysql_setpermission, mysql_tzinfo_to_sql, mysql_upgrade, mysql_waitpid, mysql_zap, mysqlaccess, mysqladmin, mysqlbinlog, mysqlbug, mysqlcheck, mysqld, mysqld_multi, mysqld_safe, mysqldump, mysqldumpslow, mysqlhotcopy, mysqlimport, mysqlshow, mysqlslap, mysqltest, mysqltest_embedded, mytop, perror, replace, resolve_stack_dump, et resolveip
Bibliothèques installées: libmysqlclient.{so,a} (lien symbolique vers libmysqlclient.{so,a}), libmysqld.{so,a}, libmysqlservices.a, et plusieurs sous /usr/lib/mysql/plugin/
Répertoires installés: /etc/mysql, /srv/mysql, /usr/include/mysql, /usr/lib/mysql, /usr/share/doc/mariadb-10.0.16, et /usr/share/mysql

Description courte

Les descriptions de tous les programmes et bibliothèques prendraient plusieurs pages. A la place, consultez les pages de man ou la documentation en ligne https://mariadb.com/kb/en/mariadb-documentation/.

The Perl DBI modules must be installed for some of the MariaDB support programs to function properly.

Last updated on 2013-11-11 18:10:53 +0100