Table des matières

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'
vim /etc/mysql/my.cnf
[mysqld]
skip-grant-tables
systemctl restart mariadb
mysql -h localhost -u root -p
FLUSH privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'son_mot_de_passe';
quit
#[mysqld]
#skip-grant-tables
systemctl restart mariadb
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

MariaDB_mysql_test
BUZUT