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 ;