Enter password: -> encoder le mot de passe défini lors de l'installationmysql -u root -p
Toutes les commandes se terminent par ";"show databases;
L'option collate détermine la méthode de comparaison, donc le tricreate database workshop_20120607 default character set utf8 default collate utf8_general_ci;
A ce stade seul root peut accéder à cette base de données hors root à tous les privilèges sur toutes les bases de données
Créons un utilisateur qui a tous les droits sur cette base :
all privileges = tous les droitsgrant all privileges on workshop_20120607.* to workshop_usermax@localhost identified by "motdepasse";
Quelques infos sur nos users.grant select on workshop_20120607.* to workshop_usermin@localhost identified by "motdepasse";
Afficher les users :use mysql;
Afficher les users par base :select user,host from user;
Quitter mysql :select user,db,host from db;
Se connecter avec le user créé pour les select :exit;
Sélectionner la base :mysql -u workshop_usermin -p
Créer une table :use workshop_20120607;
CREATE command denied to user (et c'est normal !)create table test (id tinyint(4), nom varchar(100));
Se connecter avec le user qui a tous les droits :exit;
Sélectionner la base :mysql -u workshop_usermax -p
Créer une table :use workshop_20120607;
Voir la table créée :create table test (id tinyint(4), nom varchar(100));
Insérer une valeur :show tables;
Voir le résultat :insert into test (id,nom) values (1,"Nom 1");
Si vous utilisez le user workshop_usermin vous pourrez uniquement réaliser des select (idéal pour une application web de consultation)select * from test;
Soit un fichier contenant des commandes sql (workshop_input.sql) :delete from test where id=1;
insert into test (id,nom) values (1,"Nom 1");
insert into test (id,nom) values (2,"Nom 2");
insert into test (id,nom) values (3,"Nom 3");
insert into test (id,nom) values (4,"Nom 4");
Voir les propriétés des champs de la table "test" :mysql workshop_20120607 -u workshop_usermax -p < chemin_du_fichier/workshop_input.sql
Modifier le type de champ :show columns from test;
Ajouter un champ "prenom" à la table "test" :alter table test modify nom varchar(50);
Supprimer le champ "prenom" de la table "test" :alter table test add prenom varchar(100);
Supprimer la table "test" :alter table test drop prenom;
Comme root !drop table test;
Supprimer les users workshop_usermin et workshop_usermax :drop database workshop_20120607;
Vérifions :drop user 'workshop_usermin'@'localhost';
drop user 'workshop_usermax'@'localhost';
L'historique des commandes mysql est stocké dans le fichier :select user,db,host from db;
select user,host from user;
~/.mysql_history