MariaDB-10.0.8

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.5.

Information sur le paquet

Dépendances de MariaDB

Requises

cmake-2.8.12.2 et OpenSSL-1.0.1f

Recommandées

Facultative

boost-1.55.0, libxml2-2.9.1, et libaio

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

Installation de MariaDB

[Note]

Note

Cette version de MariaDB est une version de développement. L'équipe de BLFS a déterminé qu'elle fournissait une programme stable et incluait des fonctionnalités prises de MySQL 5.6 et des fonctionnalités entièrement nouvelles jamais vues ailleurs. Pour trouver la version stable actuelle, merci d'aller voir la page de MariaDB.

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/mysql \
      -DINSTALL_DOCREADMEDIR=share/doc/mysql \
      -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 \
      -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_EXTRA_CHARSETS=complex : Ce paramètre active le support pour les ensembles de caractères complexes.

-DWITH_LIBEVENT=system : Ce paramètre est utilisé pour dire au système de construction d'utiliser la version installée de libevent. Enlevez si vous n'avez pas installé libevent.

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

-DWITH_EMBEDDED_SERVER=ON : Ce paramètre active la compilation de la bibliothèque du serveur embarqué utilisée par certaines applications comme Amarok.

[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. Remplacez <new-password> par le votre.

mysqladmin -u root password <new-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-20140301 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, myisamchk, myisam_ftdump, myisamlog, myisampack, my_print_defaults, mysql, mysqlaccess, mysqladmin, mysqlbinlog, mysqlbug, mysqlcheck, mysql_client_test, mysql_client_test_embedded, mysql_config, mysql_convert_table_format, mysqld, mysqld_multi, mysqld_safe, mysqldump, mysqldumpslow, mysql_embedded, mysql_find_rows, mysql_fix_extensions, mysqlhotcopy, mysqlimport, mysql_install_db, mysql_plugin, mysql_secure_installation, mysql_setpermission, mysqlshow, mysqlslap, mysqltest, mysqltest_embedded, mysql_tzinfo_to_sql, mysql_upgrade, mysql_waitpid, mysql_zap, mytop, perror, replace, resolveip, resolve_stack_dump, et tokuftdump
Bibliothèques installées: libmysqlclient.{so,a}, libmysqlclient_r.{so,a}, libmysqld.{so,a}, et libmysqlservices.a
Répertoires installés: /etc/mysql, /srv/mysql, /usr/include/mysql, /usr/lib/mysql, /usr/share/doc/mysql, 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