logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Installer mysql/mariadb

Introduction

MySQL n'est pas disponible dans le dépôt de paquets officiel de Debian 10. Mais, MariaDB est disponible. MariaDB est un fork de MySQL et est une implémentation open source de MySQL. MariaDB a le même ensemble d'outils, de syntaxe et de fonctionnalités que MySQL. La communauté MariaDB est également très importante. Vous pouvez utiliser MariaDB au lieu de MySQL, sauf si vous avez besoin d'une assistance payante d'Oracle.

Voyons comment installer MariaDB sur Debian 10.

Installation

apt update
apt install mariadb-client mariadb-server

Services

systemctl status mariadb
systemctl stop mariadb
systemctl restart mariadb

Pas de démarrage automatique

systemctl disable mariadb

Sécurisation de Mariadb

mysql_secure_installation
mysql_secure_installation
  • Enter current password for root (enter for none):

[Pour créer un mot de passe root] : Y puis <Enter>, pour conserver le mots de passe mais modifier le reste n

  • Enter current password for root (enter for none):

[Pour créer un mot de passe pour l'administrateur root de la base de données] : <Enter>

  • Change the root password? [Y/n] : Y
  • New password :
  • Re-enter new password:
  • Remove anonymous users? [Y/n] :

[Pour empêcher root de se connecter à partir d'un autre client depuis un autre ordinateur] : Y

  • Disallow root login remotely? [Y/n]

[Pour empêcher root de se connecter depuis le réseau, appuyez sur Y, pour l'autoriser appuyez sur N] : n

  • Remove test database and access to it? [Y/n]

[pour supprimer la base de test et ses accès] : n

  • Reload privilege tables now? [Y/n] : 'Y'

Rendre possible la première connexion

mysql -h localhost -u root -p
Résoudre : ERROR 1698 (28000): Access denied for user 'root'@'localhost'
  • Modifier le fichier : /etc/mysql/my.cnf
vim /etc/mysql/my.cnf
  • Ajouter : skip-grant-tables
[mysqld]
skip-grant-tables
  • Redémarrer mysql :
systemctl restart mariadb
  • Se connecter :
mysql -h localhost -u root -p
  • En SQL dans mysql :
FLUSH privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'son_mot_de_passe';
quit
  • Dans le fichier /etc/mysql/my.cnf supprimer ou commenter les lignes ajoutées plus haut
#[mysqld]
#skip-grant-tables
  • Redémarrer mysql :
systemctl restart mariadb
  • Plus de problème !
mysql -h localhost -u root -p
MariaDB [(NONE)]> 

Commandes utiles depuis bash

Une seule commande avec l'option -e

mysql -u [username] -p -e "CREATE DATABASE toto"

Envoyer un script mysql

mysql -u root ma_base < monfichier.sql

Sauvegarder une base de donnée

La rfc-3339 donne une date du type 2014-05-20
 mysqldump -u user [-h nom_hôte_ou_ip] --single-transaction ma_base [ma_table [mon_autre_table]] -p'mot de passe' > `date --rfc-3339 date`.sql

Restaurer cette base

Il faut créer d'abord la nouvelle base qui contiendra la restauration.

 mysql -u root [-h nom_hôte_ou_ip] -p ma_nouvelle_base < 2014-05-20.sql

Liens

utilisateurs/hypathie/tutos/installer_sql-mariadb.txt · Dernière modification: 02/12/2020 14:57 par Hypathie

Pied de page des forums

Propulsé par FluxBB