Administration de mysql

changer le mot de passe root:
use mysql;

UPDATE mysql.user SET Password = PASSWORD('nouveau mot de passe') WHERE User = 'root';
FLUSH PRIVILEGES;

créer une base de données
CREATE DATABASE nom_base;

créer une base de données avec l’encodage utilisé
CREATE DATABASE nom_base DEFAULT CHARACTER SET 'utf8';

vérifier l’encodage:
SHOW VARIABLES LIKE 'char%';

supprimer une base de données:
DROP DATABASE nom_base;

afficher toutes les bases de données
SHOW DATABASES;

créer un utilisateur et ajouter les droits sur une base
GRANT ALL PRIVILEGES ON nom_base.* TO 'utilisateur'@'localhost' IDENTIFIED BY 'mot de passe';
FLUSH PRIVILEGES;

FLUSH PRIVILEGES: est pour recharger les droits

supprimer un utilisateur:
DROP USER 'utilisateur'@'localhost';

supprimer les droits sur une base à un utilisateur
REVOKE ALL privileges ON nom_base.* FROM nom_utilisateur@localhost;

changer le mot de passe d’un utilisateur:
SET PASSWORD FOR 'utilisateur'@'localhost' = PASSWORD('nouveau mot de passe');

créer une table:
CREATE TABLE Nom_table (
colonne1 description,
colonne2 description,
colonne3 description,

[PRIMARY KEY (colonne clé primaire)]
)
[ENGINE=moteur];

ENGINE=moteur : pour préciser le moteur de stockage de la table (MyISAM, InnoDB)

supprimer une table:
DROP TABLE nom_table;

afficher les tables d’une base de données:
SHOW TABLES;

renommer une table:
ALTER TABLE nom_table RENAME AS nouvelle_table;

voir la structure d’une table:
DESCRIBE nom_table;

réparer et optimiser les bases de données:

mysqlcheck --defaults-file=/etc/mysql/debian.cnf --auto-repair --optimize --all-databases