informatique:db:mysql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
informatique:db:mysql [2016/08/05 08:43] – [Extraire les dumps DB par DB d'un dump complet] bn8informatique:db:mysql [2016/12/06 17:50] (Version actuelle) – [Réplication Master-Master] bn8
Ligne 3: Ligne 3:
  
 ===== Benchmark de MySQL ===== ===== Benchmark de MySQL =====
-  SELECT benchmark(100000000,1+2);+<code sql>SELECT benchmark(100000000,1+2);</code>
      
 ===== Reset un mot de passe root perdu ===== ===== Reset un mot de passe root perdu =====
  
-  sudo /etc/init.d/mysql stop +<code bash>sudo /etc/init.d/mysql stop 
-  sudo mysqld_safe --skip-grant-tables & +sudo mysqld_safe --skip-grant-tables & 
-  mysql +mysql</code> 
-  > update mysql.user set password = password('VOTRENOUVEAUMOTDEPASSE') where user = 'root'; +<code sql> 
-  > flush privileges; +update mysql.user set password = password('VOTRENOUVEAUMOTDEPASSE') where user = 'root'; 
-  > exit +flush privileges; 
-  sudo /etc/init.d/mysql stop +exit</code> 
-  sudo /etc/init.d/mysql start  +<code bash>sudo /etc/init.d/mysql stop 
 +sudo /etc/init.d/mysql start</code>
  
 ===== Dump des privilèges des utilisateurs ===== ===== Dump des privilèges des utilisateurs =====
  
-  mysql -B -N $@ -e "SELECT DISTINCT CONCAT( +<code bash>mysql -B -N $@ -e "SELECT DISTINCT CONCAT( 
-    'SHOW GRANTS FOR ''', user, '''@''', host, ''';' +'SHOW GRANTS FOR ''', user, '''@''', host, ''';' 
-    ) AS query FROM mysql.user" | \ +) AS query FROM mysql.user" | \ 
-  mysql $@ | \ +mysql $@ | \ 
-  sed 's/\(GRANT .*\)/\1;/;s/^\(Grants for .*\)/## \1 ##/;/##/{x;p;x;}'+sed 's/\(GRANT .*\)/\1;/;s/^\(Grants for .*\)/## \1 ##/;/##/{x;p;x;}'</code>
 ===== Réplication Master-Master ===== ===== Réplication Master-Master =====
  
Ligne 38: Ligne 39:
 log_bin = /var/log/mysql/mysql-bin.log</code> log_bin = /var/log/mysql/mysql-bin.log</code>
       * Commenter la ligne : <code>bind-address = 127.0.0.1</code>       * Commenter la ligne : <code>bind-address = 127.0.0.1</code>
-    * Exécuter la requête SQL suivante : <code>grant replication slave on *.* to 'replication'@192.168.88.102 identified by 'mdpslave';</code>+    * Exécuter la requête SQL suivante : <code sql>grant replication slave on *.* to 'replication'@192.168.88.102 identified by 'mdpslave';</code>
     * Redémarrer le service //MySQL//     * Redémarrer le service //MySQL//
   * Sur serveur 2 :   * Sur serveur 2 :
Ligne 49: Ligne 50:
 master-password = mdpslave master-password = mdpslave
 master-port = 3306</code> master-port = 3306</code>
 +
 +<note>A partir de MySQL 5.7, cette configuration est faite à l'aide de la requête SQL suivante : <code sql>CHANGE MASTER TO MASTER_HOST='192.168.88.101', MASTER_USER='replication', MASTER_PASSWORD='mdpslave';</code></note> 
 +
     * Redémarrer le service //MySQL//     * Redémarrer le service //MySQL//
-    * Exécuter la requête SQL suivante : <code>start slave;</code> +    * Exécuter la requête SQL suivante : <code sql>start slave;</code> 
-    * Pour savoir si la réplication se passe correctement exécuter la requête suivante : <code>show slave status\G;</code>+    * Pour savoir si la réplication se passe correctement exécuter la requête suivante : <code sql>show slave status\G;</code>
     * Le résultat de cette requête devrais être a peu près : <code>*************************** 1. row ***************************     * Le résultat de cette requête devrais être a peu près : <code>*************************** 1. row ***************************
                Slave_IO_State: Waiting for master to send event                Slave_IO_State: Waiting for master to send event
Ligne 67: Ligne 71:
               ...</code>               ...</code>
     * Les valeurs //Slave_IO_Running// et //Slave_SQL_Running// doivent être à **Yes**.     * Les valeurs //Slave_IO_Running// et //Slave_SQL_Running// doivent être à **Yes**.
-    * Cette vérification est également possible depuis serveur 1 en exécutant la requête SQL suivante : <code>show master status;</code>+    * Cette vérification est également possible depuis serveur 1 en exécutant la requête SQL suivante : <code sql>show master status;</code>
     * Le résultat de cette requête devrais être a peu près : <code>+------------------+----------+--------------+------------------+     * Le résultat de cette requête devrais être a peu près : <code>+------------------+----------+--------------+------------------+
 | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
Ligne 74: Ligne 78:
 +------------------+----------+--------------+------------------+ +------------------+----------+--------------+------------------+
 1 row in set (0.00 sec)</code> 1 row in set (0.00 sec)</code>
-    * Exécuter ensuite la requête SQL suivante : <code>grant replication slave on *.* to 'replication'@192.168.88.101 identified by 'mdpslave2';</code>+    * Exécuter ensuite la requête SQL suivante : <code sql>grant replication slave on *.* to 'replication'@192.168.88.101 identified by 'mdpslave2';</code>
   * Sur serveur 1 :    * Sur serveur 1 : 
     * Editer le fichier ///etc/mysql/my.cnf//     * Editer le fichier ///etc/mysql/my.cnf//
Ligne 82: Ligne 86:
 master-port = 3306</code> master-port = 3306</code>
     * Redémarrer le service //MySQL//     * Redémarrer le service //MySQL//
-    * Exécuter la requête SQL suivante : <code>start slave;</code> +    * Exécuter la requête SQL suivante : <code sql>start slave;</code> 
-    * Vérifier que la synchronisation se passe correctement dans se sens également en exécutant la requête SQL : <code>show slave status\G;</code>+    * Vérifier que la synchronisation se passe correctement dans se sens également en exécutant la requête SQL : <code sql>show slave status\G;</code>
     * Le résultat de cette requête devrais être a peu près : <code>*************************** 1. row ***************************     * Le résultat de cette requête devrais être a peu près : <code>*************************** 1. row ***************************
                Slave_IO_State: Waiting for master to send event                Slave_IO_State: Waiting for master to send event
Ligne 99: Ligne 103:
               ...</code>               ...</code>
     * Les valeurs //Slave_IO_Running// et //Slave_SQL_Running// doivent être à **Yes**.     * Les valeurs //Slave_IO_Running// et //Slave_SQL_Running// doivent être à **Yes**.
-  * Sur serveur 2, la requête SQL suivante <code>show master status;</code> devrais retourner à peut près la même chose que sur serveur 1+  * Sur serveur 2, la requête SQL suivante <code sql>show master status;</code> devrais retourner à peut près la même chose que sur serveur 1
  
 La synchronisation est normalement opérationnel. La synchronisation est normalement opérationnel.
  • informatique/db/mysql.1470386608.txt.gz
  • Dernière modification : 2016/08/05 08:43
  • de bn8