MariaDB-10.5.4

Introduction à MariaDB

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

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

Informations sur le paquet

[Note]

Note

La taille installée de MariaDB est de 473 Mo, mais cela peut être réduit à environ 200 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.18.1

Recommandées

Facultatives

Boost-1.73.0, libaio-0.3.112, libxml2-2.9.10, Linux-PAM-1.4.0, MIT Kerberos V5-1.18.2, PCRE-8.44, Ruby-2.7.1, unixODBC-2.3.7, Valgrind-3.16.1, Groonga, KyTea, Judy, lz4, MeCab, MessagePack, mruby, Sphinx, TokuDB et ZeroMQ

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

Installation de MariaDB

[Avertissement]

Avertissement

MariaDB et MySQL ne peuvent pas être installées sur le même système sans des modifications dans la configuration de la construction d'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'utilisateur 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 les commandes suivantes :

mkdir build &&
cd    build &&

cmake -DCMAKE_BUILD_TYPE=Release                      \
      -DCMAKE_INSTALL_PREFIX=/usr                     \
      -DINSTALL_DOCDIR=share/doc/mariadb-10.5.4       \
      -DINSTALL_DOCREADMEDIR=share/doc/mariadb-10.5.4 \
      -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                       \
      -DSKIP_TESTS=ON                                 \
      -DTOKUDB_OK=0                                   \
      .. &&
make

Pour tester les résultats lancez : make test. Un test, test-connect est connu pour échouer.

[Note]

Note

Vous pouvez lancer un ensemble plus complet de tests avec ce qui suit :

pushd mysql-test
./mtr --parallel <N> --mem --force
popd

Où N est le nombre de tests à lancer en parallèle. Un peu plus de 5400 tests sont lancés en environ 24 SBU avec N=4. Deux tests sont connus pour échouer à cause de problèmes de jeux de caractères.

Maintenant, en tant qu'utilisateur root :

make install 

Explication des commandes

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

-DKIP_TESTS=ON : Ce paramètre désactive les tests pour MariaDB Connect/C qui ne sont pas supportés sans paramètres supplémentaires.

-DWITHOUT_SERVER=ON : Utilisez cesparamètre si vous ne voulez pas le serveur et souhaitez construire le client uniquement.

[Note]

Note

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

Configuration de MySQL

Fichiers de configuration

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

Informations sur la 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

# InnoDB tables are now used by default
innodb_data_home_dir = /srv/mysql
innodb_log_group_home_dir = /srv/mysql
# All the innodb_xxx values below are the default ones:
innodb_data_file_path = ibdata1:12M:autoextend
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 128M
innodb_log_file_size = 48M
innodb_log_buffer_size = 16M
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 installer 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-20200404 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, mariabackup, mariadb_config, mbstream, msql2mysql, my_print_defaults, myisamchk, 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_ldb, mysql_plugin, mysql_secure_installation, mysql_setpermission, mysql_tzinfo_to_sql, mysql_upgrade, mysql_waitpid, mysqlaccess, mysqladmin, mysqlbinlog, mysqlcheck, mysqld, mysqld_multi, mysqld_safe, mysqld_safe_helper, mysqldump, mysqldumpslow, mysqlhotcopy, mysqlimport, mysqlshow, mysqlslap, mysqltest, mysqltest_embedded, mytop, perror, replace, resolve_stack_dump, resolveip, sst_dump, wsrep_sst_common, wsrep_sst_mariabackup, wsrep_sst_mysqldump, wsrep_sst_rsync, wsrep_sst_xtrabackup et wsrep_sst_xtrabackup-v2
Bibliothèques installées: libmariadbclient.a, libmariadb.so, libmysqlclient.a, libmysqlclient_r.a (symbolic links to libmariadbclient.a), libmysqld.{so,a}, libmysqlservices.a et plusieurs dans /usr/lib/mysql/plugin/
Répertoires installés: /etc/mysql, /usr/{include,lib,share}/mysql et /usr/share/doc/mariadb-10.5.4

Descriptions courtes

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

Descriptions courtes

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.

mariabackup

est un outil de sauvegarde open source pour InnoDB et XtraDB.

mariadb_config

récupère les drapeaux du compilateur pour utiliser MariaDB Conector/C.

mbstream

est un utilitaire pour envoyer des sauvegardes InnoDB et XTraDB sur un flux

msql2mysql

est un outil pour convertir les programmes mSQL à l'utilisation de 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 clientes 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 des déclarations USE db_name ou SET.

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_ldb

est l'outil RocksDB.

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 de 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 incompatibilités avec les versions actuelles du serveur MySQL.

mysql_waitpid

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

mysqlaccess

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

mysqladmin

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

mysqlbinlog

lit les fichiers de log binaire.

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 base de données MariaDB.

mysqlslap

est un programme de diagnostic conçu pour émuler la charge d'un client pour un serveur MySQL et pour signaler les durées 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ésout une pile numérique en symboles.

resolveip

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

sst_sump

affiche le contenu de fichiers sst (le format utilisé par RocksDB).

Last updated on 2020-06-25 18:16:17 +0000