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;
- 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 (
login varchar(20) NOT NulL default '',
password varchar(50) default NulL,
typeUser varchar(10) NOT NulL,
PRIMARY KEY (login)
) TYPE=MyISAM;
- 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;
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 :
- SLAVE STOP;
- RESET MASTER;
- RESET SLAVE;
- SLAVE START;
|