all:bibles:linux:serveur:mysql
Table des matières
MySQL
Installation/Démarrage
Installation
Paquet
sudo apt-get install mysql-server
Sécurisation
sudo mysql_secure_installation
Installation version donnée sur RedHat
Ajouter le dépôt MariaDB
Créer le fichier /etc/yum.repos.d/MariaDB.repo
[mariadb] name = MariaDB baseurl = https://yum.mariadb.org/11.6/rhel9-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Mettre à jour la liste des paquets et installer MariaDB
sudo dnf update sudo dnf install mariadb-server
Démarrer et activer le service
sudo systemctl start mariadb sudo systemctl enable mariadb
Vérifier la version installée
mariadb -V
lancement service ou vérification
sudo service mysql status
connexion si pas de mot de passe
mysql -u root
connexion si mot de passe
mysql -u root -p
changement de mot de passe root
mysql> SET password FOR "root"@"localhost" = password('Nouveau_mot_de_passe');
configuration en UTF-8
- Editer le fichier /etc/mysql/my.cnf et ajouter les 2 lignes suivantes à la fin de la section [mysqld]
character_set_server=utf8 skip-character-set-client-handshake
- redémarrer le service
sudo service mysql restart
- vérification sous mysql
mysql> SHOW VARIABLES LIKE 'char%';
Désinstallation
Package
Redhat
yum remove mysql mysql-server
Ubuntu
sudo apt purge mysql mysql-server
Nettoyage
rm -rf /var/lib/mysql rm -f /var/log/mysqld.log
Administration
lister utilisateurs et host
mysql> SELECT USER,host FROM mysql.user;
créer utilisateur
mysql> CREATE USER "nom_utilisateur"@"localhost";
définir mot de passe
mysql> SET password FOR "nom_utilisateur"@"localhost" = password('mot_de_passe');
supprimer un utilisateur
mysql> DROP USER "nom_utilisateur"@"localhost";
créer une bdd
mysql> CREATE DATABASE <nombdd> CHARACTER SET = 'utf8';
donner tous les droits sur une bdd
mysql> GRANT ALL ON nom_base.* TO "nom_utilisateur"@"localhost";
supprimer les droits
mysql> REVOKE ALL privileges ON nom_base.* FROM "nom_utilisateur"@"localhost";
lister les droits
mysql> SHOW grants FOR "nom_utilisateur"@"localhost";
exportation bdd maBase
mysqldump -u root -p maBase > maBase_backup.sql
importer une base
mysql -u root -p maBase < maBase_backup.sql
supprimer une base de données
mysql> DROP DATABASE <database_name>;
Utilisation
SHOW DATABASES; CONNECT <database_name>; SHOW TABLES; SHOW COLUMNS FROM <table_name>; DESCRIBE <table_name>;
MariaDB
Compatibilité MariaDB / MySQL
Debug
Activer les fichiers de log
Dans le fichier de conf
- Ajouter dans la section [mysqld] du fichier de conf /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld] # Log des requêtes générales general_log = 1 general_log_file = /var/log/mysql/mysql-general.log # Log des requêtes lentes slow_query_log = 1 slow_query_log_file = /var/log/mysql/mysql-slow.log long_query_time = 2 # Seuil en secondes pour considérer une requête comme lente # Log des erreurs log_error = /var/log/mysql/mysql-error.log
- Redémarrer le service
sudo service mysql restart
De façon temporaire
Positionner les variables suivantes sur le serveur (valable jusqu'au prochain redémarrage du serveur) :
SET GLOBAL general_log = 'ON'; SET GLOBAL general_log_file = '/var/log/mysql/mysql-general.log'; SET GLOBAL slow_query_log = 'ON'; SET GLOBAL slow_query_log_file = '/var/log/mysql/mysql-slow.log'; SET GLOBAL long_query_time = 2; SHOW VARIABLES LIKE '%log%';
S'assurer que les répertoires de logs existent et sont accessibles en écriture par l'utilisateur MySQL
Lire le fichier log-bin
mysqlbinlog --start-datetime="2017-08-08 09:00:00" /var/log/mysql/mysql-bin.000001
all/bibles/linux/serveur/mysql.txt · Dernière modification : de omeylhoc
