Blue Flower

Introduction

Cet article a pour but de fournir les notions principales pour installer/utiliser MySQL sous Ubuntu :

  • installer MySQL
  • créer une base de données
  • créer des utilisateurs
  • ...

 

Installation de MySql sur Ubuntu

apt-get install mysql-server

Configuration de MySql pour affecter un mot de passe à root

Suite à l'installation, le compte root de MySql n'a pas de mot de passe. On peut ainsi s'y connecter en ligne de commande de la façon suivante :

mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 39
Server version: 5.5.37-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

mysql>

Pour lui affecter un mot de passe :

SET PASSWORD = PASSWORD('RootMotDePasse');

A présent pour se connecter à MySql, la syntaxe est la suivante :

mysql -u root -p

Création d'une base de données en ligne de commande

En tant que root :

mysql> create database dbTest1;
Query OK, 1 row affected (0.00 sec)

mysql> connect dbTest1;
Connection id:    42
Current database: dbTest1

mysql>

Création d'un user avec tous les droits

Création d'un user local à la base de données

Cette utilisateur devra ouvrir une connexion depuis le serveur de base de données. Ce user ne pourra être utilisé pour se connecter à distance à la base de données.

GRANT ALL PRIVILEGES ON *.* TO 'votre_user'@'localhost' IDENTIFIED BY 'votre_mot_de_passe' WITH GRANT OPTION;

 

Création d'un user pouvant se connecter à distance à une certaine base de données

Pour permettre à votre_user de se connecter à distance à votre_base avec tous les droits :

GRANT ALL PRIVILEGES ON votre_base.* TO 'votre_user'@'%' IDENTIFIED BY 'votre_mot_de_passe' WITH GRANT OPTION;

 

Import d'un fichier de sauvegarde d'une base de données

Se connecter à la base de données voulue et saisir la commande suivante :

source votre_fichier_sql

Notion de colonne NOT NULL et caractère chaine vide

Quand on déclare une colonne de type NOT NULLet par exemple de type VARCHAR, il est possible d'insérer le caractère vide. Si on déclare une colonne NULLABLE, elle pourra aussi bien accueillir NULL que le caractère chaine vide. Ceci peut paraître déconcertant. Mais ceci peut servir à exprimer deux notions différentes. Par exemple, si la colonne en question est le téléphone, mettre null peut signifier que le téléphone n'est pas connu alors que chaine vide signifie que la personne n'a pas de téléphone.

 

Diverses requêtes

Voir les bases de données du serveur mysql

show databases ;

Voir les tables d'une base de données

show tables ;

Voir la définition d'une table

desc VOTRE_NOM_DE_TABLE ;

Voir le script de création d'une table

show create table VOTRE_NOM_DE_TABLE ;