« Datasheet/MySQL » : différence entre les versions

De TartareFR
Aller à la navigation Aller à la recherche
(Page créée avec « = Utilisateurs = {{:DBMS/MySQL/Brief}} = Réplication = {{:DBMS/MySQL/ResetSlave}} »)
 
Aucun résumé des modifications
 
Ligne 1 : Ligne 1 :
= Utilisateurs =
{{Datasheet}}
= MySQL =
{{:DBMS/MySQL/Brief}}
{{:DBMS/MySQL/Brief}}
= Réplication =
{{:DBMS/MySQL/ResetSlave}}
{{:DBMS/MySQL/ResetSlave}}
== Drop all tables ==
Suppression de toutes les tables d'une base en une commande
<syntaxhighlight lang="bash">base=<base>
for table in $(mysql -Nse 'SHOW TABLES' $base)
do
    mysql -e "DROP TABLE $table" $base
done</syntaxhighlight>
{{Admon/tip|Vider les tables au lieu de les supprimer|Il suffit de remplacer le mot clé ''DROP'' par ''TRUNCATE''}}

Dernière version du 10 avril 2014 à 10:02

__NOTITLE__

Logo Wiki Didier

MySQL

Ajout d'un utilisateur

Utilisateur standard

Ajout d'un utilisateur et d'une base ou celui-ci aura tous les droits

CREATE DATABASE IF NOT EXISTS testdb ;
CREATE USER 'test'@'localhost' IDENTIFIED BY '***';

GRANT USAGE ON *.* TO 'test'@'localhost' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0 
MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

GRANT ALL PRIVILEGES ON testdb.* TO 'test'@'localhost';

Utilisateur pour Réplication

GRANT REPLICATION SLAVE, SUPER, RELOAD, SELECT ON *.* TO <user>@'%' IDENTIFIED BY '***';
GRANT REPLICATION SLAVE, SUPER, RELOAD, SELECT ON *.* TO <user>@'localhost' IDENTIFIED BY '***';

Arrêt et reset de la réplication

  • Arrêt de la réplication et remise à zéro de celle-ci
    STOP SLAVE;RESET SLAVE;
    
  • Suppression et création de la base
    DROP DATABASE;CREATE DATABASE
    
  • Import des dumps
    mysql <base> < /tmp/<base>.sql
    
  • Recalage de la réplication
    CHANGE MASTER TO MASTER_HOST='<master host>',MASTER_USER='<user>',MASTER_PASSWORD='***',
    
    MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=106;
    
  • Redémarrage de la réplication
    START SLAVE;
    
  • Et on vérifie la réplication
    SHOW SLAVE STATUS \G
    
Important.png
Skip duplicate entries
Si le dump a été pris à chaud, il peut y avoir des duplicate entries. Il est alors nécessaire de lancer le deamon <app>mk-slave-restart</app> afin de ne pas les intégrer automatiquement.
Le daemon peut s'appeler <app>pt-slave-restart</app> si le dépôt percona est en place

Drop all tables

Suppression de toutes les tables d'une base en une commande

base=<base>
for table in $(mysql -Nse 'SHOW TABLES' $base)
do
    mysql -e "DROP TABLE $table" $base
done
Idea.png
Vider les tables au lieu de les supprimer
Il suffit de remplacer le mot clé DROP par TRUNCATE