Table des matières

Administration de MySQL

Cette page tient compte d'un OS Linux.

Opérations de base

Commande
Démarrer $ sudo service mysql start.
Changer de mot de passe root $ mysqladmin -u root password NEWPASSWORD.

Si aucun mot de passe n'a été demandé lors de l'installation de MySQL, le mot de passe par défaut est probablement mysql:

sudo mysql --user=root mysql

mysql

Démarrer la ligne de commande mysql avec mysql -h localhost -u root -p.

Créer une base de données

CREATE DATABASE databasename;

Créer un utilisateur

CREATE USER username IDENTIFIED BY 'password';

Donner des privilèges

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX on <DBNAME>.* TO '<USERNAME>'@'<SERVER_HOSTNAME>' IDENTIFIED BY '<PASSWORD>';
FLUSH PRIVILEGES;

Vérifier les privilèges :

SHOW GRANTS FOR <USERNAME>@<JIRA_SERVER_HOSTNAME>;

Exécuter un fichier SQL sur une base de données

mysql -u yourusername -pyourpassword yourdatabase < text_file.sql

Permettre les connexions externes

Permet les connexions externes. Pour des raisons de sécurité on essaie le plus possible d'éviter ce genre de situation, mais s'il faut le faire, utiliser un bon mot de passe pour l'utilisateur qui a accès à l'externe.

L'exemple utilise l'utilisateur root dans la commande GRANT, mais il est fortement recommandé d'utiliser un autre utilisateur.

  1. Ouvrir le fichier de configuration de MySQL qui est /etc/mysql/my.cnf:
    1. Commenter la ligne bind-address = 127.0.0.1.
    2. Commenter la ligne skip-external-locking.
    3. Redémarrer MySQL : # service mysql restart.
  2. Ouvrir une session MySQL avec mysql -u root -p.
    1. Exécuter la commande : GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'password';
    2. Exécuter la commande : FLUSH PRIVILEGES;

Maintenant les connexions remote seront acceptées.

Source

Dump d'une base de données

$ mysqldump --opt -u [uname] -p[pass] [dbname] > [backupfile.sql]

Avec Windows

Grant user on MySQL Server

  1. Ouvrir un terminal de commandes sur Windows → cmd.
  2. Exécuter la commande dans le répertoire MySQL Server\bin : mysql -u root –password=[password].
  3. Dans le prompt de MySQL, entrer la commande : GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'IP' IDENTIFIED BY 'PASSWORD';
    • L'IP peut être remplacé par % pour permettre les connexions de n'importe quel hôte ou adresse IP.
  4. Ensuite faire :
    1. mysql> FLUSH PRIVILEGES;
    2. mysql> exit;