MariaDB-10.0.21

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

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.3.1 et OpenSSL-1.0.2d

Recommandées

Facultative

boost-1.59.0, libxml2-2.9.2, Linux-PAM-1.2.1, PCRE-8.37, Ruby-2.2.3, unixODBC-2.3.2, Valgrind-3.10.1, Groonga, KyTea, Judy, libaio, lz4, MeCab, MessagePack, mruby, Sphinx, TokuDB, et 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 &&
mkdir build &&
cd build    &&
cmake -DCMAKE_BUILD_TYPE=Release                       \
      -DCMAKE_INSTALL_PREFIX=/usr                      \
      -DINSTALL_DOCDIR=share/doc/mariadb-10.0.21       \
      -DINSTALL_DOCREADMEDIR=share/doc/mariadb-10.0.21 \
      -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 ... : Initialise correctement le répertoire d'installation pour quelques composants.

-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-20150924 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,srv,usr/{include,lib,share}}/mysql et /usr/share/doc/mariadb-10.0.21

Description courte

Les modules DBI de Perl doivent être installés pour que le support de certains programmes de MariaDB fonctionnent correctement.

Short Descriptions

aria_chk

est utilisé pour vérifier, réparer, optimiser, trier et obtenir des informations sur les tables Aria.

aria_dump_log

est un outil pour enregistrer le contenu des pages de log d'Aria.

aria_ftdump

affiche les informations d'index en texte.

aria_pack

est un outil pour générer des tables Aria compressées en lecture seule.

aria_read_log

affiche le contenu des fichiers de log Aria.

innochecksum

imprime les sommes de contrôle pour les fichiers InnoDB.

msql2mysql

est un outil pour convertir les programmes mSQL pour utiliser avec MySQL.

my_print_defaults

affiche les options des groupes d'options des fichiers d'options.

myisam_ftdump

affiche les informations à propos des index FULLTEXT dans les tables MyISAM.

myisamchk

obtient des informations à propos de vos tables de base de données ou les vérifie, les répare, ou les optimise.

myisamlog

affiche le contenu des fichiers de log MyISAM.

myisampack

est un outil pour compresser les tables MyISAM.

mysql

est un simple shell SQL avec des possibilités d'édition de la ligne d'entrée.

mysql_client_test

est utilisé pour tester les API clients Mysql qui ne peuvent pas être testées en utilisant mysqltest et les langages de tests.

mysql_client_test_embedded

est un outil pour tester les API client des serveurs embarqués.

mysql_config

vous fournit des informations utiles pour compiler vos clients MySQL et les connecter à MySQL.

mysql_convert_table_format

convertit les tables dans une base de données pour utiliser un moteur de stockage particulier.

mysql_embedded

est un client MySQL lié statiquement à libmysqld.

mysql_find_rows

lit les fichiers contenant les états SQL et extrait les états qui correspondent à une expression régulière donnée ou qui contiennent USE db_name ou SET statements.

mysql_fix_extensions

convertit les extensions des fichiers de table MyISAM (ou ISAM ) en leurs formes canoniques.

mysql_install_db

initialise les répertoires de données MySQL et crée les tables systèmes qui les contiennent, si elles n'existent pas.

mysql_plugin

est un utilitaire qui autorise les administrateurs MySQL à gérer les greffons serveurs MySQL chargés.

mysql_secure_installation

est un outil pour tester la sécurité de l'installation MySQL.

mysql_setpermission

initialise les permissions dans les tables grant MySQL.

mysql_tzinfo_to_sql

charge les tables de zone de temps dans les bases de données mysql.

mysql_upgrade

examine toutes les tables dans toutes les bases de données pour les imcompatibilités avec les versions actuelles du serveur MySQL.

mysql_waitpid

signale à un processus de se terminer et attend que le processus soit terminé.

mysql_zap

est un outil pour tuer les processus qui correspondent à un filtre.

mysqlaccess

vérifie les privilèges d'accès pour le nom d'hôte, le nom d'utilisateur et les combinaison de bases de données.

mysqladmin

est un client pour réaliser les opérations administratives.

mysqlbinlog

lit les fichiers de log binaire.

mysqlbug

est un outil pour générer un rapport de bogue.

mysqlcheck

réalise la maintenance des tables : il vérifie, répare, optimise ou analyse les tables.

mysqld

est le démon du serveur MySQL.

mysqld_multi

est conçu pour gérer plusieurs processus mysqld qui écoutent sur différents sockets Unix et ports TCP/IP.

mysqld_safe

est la façon recommandée de démarrer un serveur mysqld sur Unix et NetWare.

mysqldump

est un programme de sauvegarde.

mysqldumpslow

analyse les fichiers de log de demandes lentes de MySQL et affiche un résumé de leurs contenus.

mysqlhotcopy

verrouille la table, nettoie la table et ensuite effectue une copie de la base de données.

mysqlimport

lit plusieurs de formats de données, et insert les données dans une base de données.

mysqlshow

montre la structure d'une basee de données MariaDB.

mysqlslap

est un programme de diagnostique conçu pour émuler la charge d'un clier pour un serveur MySQL et pour signaler les temps de chaque étape.

mysqltest

lance un cas de tests contre un serveur MySQL et facultativement compare la sortie avec un fichier résultat.

mysqltest_embedded

est similaire à la commande mysqltest mais est construit avec le support libmysqld pour serveur embarqué.

mytop

est un outil console pour surveiller les threads et les performances d'un serveur MySQL.

perror

est un utilitaire qui affiche les descriptions pour les codes d'erreur du système ou du moteur d'enregistrement.

replace

est une extension MariaDB/MySQL pour le SQL standard.

resolve_stack_dump

résoud une pile numérique en symboles.

resolveip

est un utilitaire pour résoudre les adresses IP en noms d'hote et vice-versa.

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