Dominique.fournier38.fr Imprimer cette page

Mémo MySQL

Page d'accueil

Les Instructions indispensables à MySQL

Traitement des Champs

  • Les Selections :
    SELECT * FROM table WHERE id=0;
    SELECT * FROM table WHERE fichier liKE '%/ping';
  • Les Insersions :
    INSERT INTO table SET AddrIP='$AddrIP';
    INSERT INTO table VALUES ('$AddrIP','2nd champ');
  • Les Suppressions :
    DELETE FROM table WHERE login='$nom';
  • Les Mises à Jour :
    UPDATE table SET user='licence' WHERE user='update';

Traitement des Bases

  • Création de Base :
    CREATE DATABASE menagerie CHARACTER SET utf8 COLLATE utf8_general_ci;
  • Suppression de Base :
    DROP DATABASE menagerie;
  • Selection de Base :
    USE menagerie;

Sauvegarde et Restauration

  • Chargement d'une table à partir d'un fichier :
    LOAD DATA LOCAL INFILE "file.txt" INTO table table;
  • Sauvegarde d'une table dans un fichier :
    SELECT * INTO OUTFILE 'file.txt' FROM table;

Traitement des Tables

  • Création de Tables :
    CREATE TABLE admin (
    idlogin INT NOT NULL AUTO_INCREMENT,
    login varchar(20) NOT NULL default '',
    password varchar(50) default NULL,
    typeUser varchar(10) NOT NULL,
    PRIMARY KEY (idlogin)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • Gestion des champs :
    Pour ajouter une colonne typeUser :
      ALTER table admin ADD typeUser varchar(10) NOT NulL;
    Pour renommer une colonne INTEGER de a vers b :
      ALTER table t1 CHANGE a b INTEGER;
    Pour changer le type d'une colonne sans la renommer :
      ALTER table t1 MODIFY b BIGINT NOT NulL;
    Pour supprimer une colonne b :
      ALTER table t1 DROP b;
  • Suppression de Table :
      DROP table table;
  • Description de Table :
      DESCRIBE table;
  • Création d'index :
      CREATE INDEX index_name ON tbl_name (index_col_name,...);
  • Affiche la liste des Tables :
      SHOW TABLES;
  • Affiche la description d'une table :
      show create table `NomTable`;
  • Utilisation mode texte

    • Annuler une commande sans quitter :
        Ctrl+U : Efface la ligne (et seulement elle dans le cas d'une requête de plusieurs lignes
        \c : Annule la requête complète, sans l'exécuter
Sécurisation de MySQL
Les utilisateurs sont dans la base mysql.
Deux tables sont importantes : user et db.
Pour créer les utilisateurs, deux choix :
  • Dans user, creer l'utilisateur avec des 'N' partout.
    Dans db, creer sur quelle table quel utilisateur peut faire quoi.
    Apres, Validez par 'FLUSH PRIVILEGES'
  • CREATE USER nomUser@localhost IDENTIFIED BY 'Pa$$Word'; GRANT ALL ON mydb.* TO 'nomUser'@'localhost'; A la place de ALL, on peut mettre SELECT, UPDATE, INSERT, DELETE, INDEX, ALTER, CREATE, DROP en choisissant les paramètres séparés par des virgules
Crypter le mot de passe root
USE mysql;
UPDATE user SET Password=password('nouveaumotdepasse') WHERE user='root';
Les Logs de MySQL
Mettre dans le fichier /etc/my.cnf, l'option log=/var/log/mysqld.log dans la section [mysqld].
Relancez le serveur.
Replicat de MySQL
Pour reinitialiser un replicat qui ne fonctionne plus :
  1. SLAVE STOP;
  2. RESET MASTER;
  3. RESET SLAVE;
  4. SLAVE START;
Suggestions : D. FOURNIER - Dernière mise à jour de la page : 09/02/2016 15:58