all:bibles:linux:serveur:mysql
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| all:bibles:linux:serveur:mysql [2025/04/25 08:34] – [Activer les fichiers de log] omeylhoc | all:bibles:linux:serveur:mysql [2025/04/25 08:40] (Version actuelle) – [Activer les fichiers de log] omeylhoc | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== MySQL ====== | ||
| + | ---- | ||
| + | |||
| + | ===== Installation/ | ||
| + | |||
| + | |||
| + | ==== Installation ==== | ||
| + | |||
| + | <code bash> | ||
| + | sudo apt-get install mysql-server | ||
| + | </ | ||
| + | |||
| + | ==== Installation version donnée sur RedHat ==== | ||
| + | |||
| + | === Ajouter le dépôt MariaDB === | ||
| + | |||
| + | Créer le fichier <color # | ||
| + | |||
| + | <code bash> | ||
| + | [mariadb] | ||
| + | name = MariaDB | ||
| + | baseurl = https:// | ||
| + | gpgkey=https:// | ||
| + | gpgcheck=1 | ||
| + | </ | ||
| + | |||
| + | === Mettre à jour la liste des paquets et installer MariaDB === | ||
| + | |||
| + | <code bash> | ||
| + | sudo dnf update | ||
| + | sudo dnf install mariadb-server | ||
| + | </ | ||
| + | |||
| + | === Démarrer et activer le service === | ||
| + | |||
| + | <code bash> | ||
| + | sudo systemctl start mariadb | ||
| + | sudo systemctl enable mariadb | ||
| + | </ | ||
| + | |||
| + | === Vérifier la version installée === | ||
| + | |||
| + | <code bash> | ||
| + | mariadb -V | ||
| + | </ | ||
| + | |||
| + | ==== lancement service ou vérification ==== | ||
| + | |||
| + | <code bash> | ||
| + | sudo service mysql status | ||
| + | </ | ||
| + | |||
| + | ==== connexion si pas de mot de passe ==== | ||
| + | |||
| + | <code bash> | ||
| + | mysql -u root | ||
| + | </ | ||
| + | |||
| + | ==== connexion si mot de passe ==== | ||
| + | |||
| + | <code bash> | ||
| + | mysql -u root -p | ||
| + | </ | ||
| + | |||
| + | ==== changement de mot de passe root ==== | ||
| + | |||
| + | <code bash> | ||
| + | mysql> SET password FOR " | ||
| + | </ | ||
| + | |||
| + | ==== configuration en UTF-8 ==== | ||
| + | |||
| + | * Editer le fichier <color # | ||
| + | |||
| + | < | ||
| + | character_set_server=utf8 | ||
| + | skip-character-set-client-handshake | ||
| + | </ | ||
| + | |||
| + | * redémarrer le service | ||
| + | |||
| + | <code bash> | ||
| + | sudo service mysql restart | ||
| + | </ | ||
| + | |||
| + | * vérification sous mysql | ||
| + | |||
| + | <code bash> | ||
| + | mysql> SHOW VARIABLES LIKE ' | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Désinstallation ===== | ||
| + | |||
| + | ==== Package ==== | ||
| + | |||
| + | === Redhat === | ||
| + | |||
| + | <code bash> | ||
| + | yum remove mysql mysql-server | ||
| + | </ | ||
| + | |||
| + | === Ubuntu === | ||
| + | |||
| + | <code bash> | ||
| + | sudo apt purge mysql mysql-server | ||
| + | </ | ||
| + | |||
| + | ==== Nettoyage ==== | ||
| + | |||
| + | <code bash> | ||
| + | rm -rf / | ||
| + | rm -f / | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Administration ===== | ||
| + | |||
| + | ==== lister utilisateurs et host ==== | ||
| + | |||
| + | <code bash> | ||
| + | mysql> select user,host from mysql.user; | ||
| + | </ | ||
| + | |||
| + | ==== créer utilisateur ==== | ||
| + | |||
| + | <code bash> | ||
| + | mysql> create user " | ||
| + | </ | ||
| + | |||
| + | ==== définir mot de passe ==== | ||
| + | |||
| + | <code bash> | ||
| + | mysql> set password for " | ||
| + | </ | ||
| + | |||
| + | ==== supprimer un utilisateur ==== | ||
| + | |||
| + | <code bash> | ||
| + | mysql> drop user " | ||
| + | </ | ||
| + | |||
| + | ==== donner tous les droits sur une bdd ==== | ||
| + | |||
| + | <code bash> | ||
| + | mysql> grant all on nom_base.* to " | ||
| + | </ | ||
| + | |||
| + | ==== supprimer les droits ==== | ||
| + | |||
| + | <code bash> | ||
| + | mysql> revoke all privileges on nom_base.* from " | ||
| + | </ | ||
| + | |||
| + | ==== lister les droits ==== | ||
| + | |||
| + | <code bash> | ||
| + | mysql> show grants for " | ||
| + | </ | ||
| + | |||
| + | ==== exportation bdd maBase ==== | ||
| + | |||
| + | <code bash> | ||
| + | mysqldump -u root -p maBase > maBase_backup.sql | ||
| + | </ | ||
| + | |||
| + | ==== importer une base ==== | ||
| + | |||
| + | <code bash> | ||
| + | mysql -u root -p maBase < maBase_backup.sql | ||
| + | </ | ||
| + | |||
| + | ==== supprimer une base de données ==== | ||
| + | |||
| + | <code bash> | ||
| + | mysql> drop database < | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Utilisation ===== | ||
| + | |||
| + | < | ||
| + | show databases; | ||
| + | connect < | ||
| + | show tables; | ||
| + | show columns from < | ||
| + | describe < | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== MariaDB ===== | ||
| + | |||
| + | ==== Compatibilité MariaDB / MySQL ==== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Debug ===== | ||
| + | |||
| + | ==== Activer les fichiers de log ==== | ||
| + | |||
| + | === Dans le fichier de conf === | ||
| + | |||
| + | * Ajouter dans la section [mysqld] du fichier de conf <color # | ||
| + | |||
| + | < | ||
| + | [mysqld] | ||
| + | # Log des requêtes générales | ||
| + | general_log = 1 | ||
| + | general_log_file = / | ||
| + | |||
| + | # Log des requêtes lentes | ||
| + | slow_query_log = 1 | ||
| + | slow_query_log_file = / | ||
| + | long_query_time = 2 # Seuil en secondes pour considérer une requête comme lente | ||
| + | |||
| + | # Log des erreurs | ||
| + | log_error = / | ||
| + | </ | ||
| + | |||
| + | * Redémarrer le service | ||
| + | |||
| + | <code bash> | ||
| + | sudo service mysql restart | ||
| + | </ | ||
| + | |||
| + | === De façon temporaire === | ||
| + | |||
| + | Positionner les variables suivantes sur le serveur (valable jusqu' | ||
| + | |||
| + | <code sql> | ||
| + | SET GLOBAL general_log = ' | ||
| + | SET GLOBAL general_log_file = '/ | ||
| + | SET GLOBAL slow_query_log = ' | ||
| + | SET GLOBAL slow_query_log_file = '/ | ||
| + | SET GLOBAL long_query_time = 2; | ||
| + | SHOW VARIABLES LIKE ' | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | <note important> | ||
| + | |||
| + | ==== Lire le fichier log-bin | ||
| + | |||
| + | <code bash> | ||
| + | mysqlbinlog --start-datetime=" | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
