Installation et configuration de MariaDB standalone.
Composant
Version
Rocky Linux
9.x
MariaDB
10.11 LTS
Durée estimée : 25 minutes
1. Installation
# MariaDB 10.5 est dans les repos par défaut# Pour 10.11 LTS, ajouter le repo officielcat>/etc/yum.repos.d/mariadb.repo<< 'EOF'[mariadb]name = MariaDBbaseurl = https://mirror.mariadb.org/yum/10.11/rhel/$releasever/$basearchgpgkey = https://mirror.mariadb.org/yum/RPM-GPG-KEY-MariaDBgpgcheck = 1EOF# Installerdnfinstall-yMariaDB-serverMariaDB-client
# Ou version par défaut# dnf install -y mariadb-server
mariadb-uroot-p<< 'EOF'-- Créer une baseCREATE DATABASE appdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;-- Créer un utilisateur localCREATE USER 'appuser'@'localhost' IDENTIFIED BY 'SecurePass123!';GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';-- Créer un utilisateur distantCREATE USER 'appuser'@'192.168.1.%' IDENTIFIED BY 'SecurePass123!';GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'192.168.1.%';-- AppliquerFLUSH PRIVILEGES;-- VérifierSHOW DATABASES;SELECT user, host FROM mysql.user;EOF
7. Backup et restore
Backup
# Dump completmariadb-dump-uroot-p--all-databases>/backup/full-$(date+%Y%m%d).sql
# Dump d'une basemariadb-dump-uroot-pappdb>/backup/appdb-$(date+%Y%m%d).sql
# Dump compressémariadb-dump-uroot-pappdb|gzip>/backup/appdb-$(date+%Y%m%d).sql.gz
# Avec mariabackup (InnoDB hot backup)mariabackup--backup--target-dir=/backup/full--user=root--password=xxx
Restore
# Restaurer un dumpmariadb-uroot-pappdb</backup/appdb.sql
# Restaurer comprességunzip</backup/appdb.sql.gz|mariadb-uroot-pappdb
# Avec mariabackupmariabackup--prepare--target-dir=/backup/full
mariabackup--copy-back--target-dir=/backup/full
chown-Rmysql:mysql/var/lib/mysql
8. Commandes utiles
# Connexionmariadb-uroot-p
# Voir les processusSHOWPROCESSLIST;# Voir les variablesSHOWVARIABLESLIKE'innodb%';# Statut du serveurSHOWSTATUS;# Taille des basesSELECTtable_schema,
ROUND(SUM(data_length+index_length)/1024/1024,2)AS"Size (MB)"FROMinformation_schema.tables
GROUPBYtable_schema;# Kill une requêteKILL<process_id>;
9. Monitoring
# Statut en temps réelmysqladmin-uroot-pstatus
# Variables étenduesmysqladmin-uroot-pextended-status
# Processlistmysqladmin-uroot-pprocesslist
10. SELinux
# Autoriser les connexions réseausetsebool-Pmysql_connect_any1# Si port personnalisésemanageport-a-tmysqld_port_t-ptcp3307
Dépannage
# Logstail-f/var/log/mariadb/mariadb.log
# Vérifier la connexionmariadb-uroot-p-e"SELECT 1"# Réinitialiser le mot de passe rootsystemctlstopmariadb
mysqld_safe--skip-grant-tables&mariadb-uroot
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';# FLUSH PRIVILEGES;