« MYSQL » : différence entre les versions

De TwisterWiki
Ligne 6 : Ligne 6 :
== Basculer un slave en master et le master en slave ==
== Basculer un slave en master et le master en slave ==


# faire passer le master en "read only"
;faire passer le master en "read only"
mysql -u root -p  
: mysql -u root -p  
mysql> use DATABASE;
: mysql> use DATABASE;
mysql> flush tables with read lock;
: mysql> flush tables with read lock;
;stopper le slave
: mysql -u root -p
: mysql> stop SLAVE;
;noter la position du serveur en slave
: mysql -u root -p
: mysql> show master status\G


# stopper le slave
;sur le master (passage en slave)
mysql -u root -p
: mysql> CHANGE MASTER TO MASTER_HOST='', MASTER_USER='replic', MASTER_PASSWORD='PASSWORD', MASTER_PORT=3306 ,MASTER_LOG_FILE='FILE', MASTER_LOG_POS=POS;
mysql> stop SLAVE;


# noter la position du serveur en slave
;repasser le slave en "read write"
mysql -u root -p
: mysql> use DATABASE;
mysql> show master status\G
: mysql> unlock tables;


# sur le master (passage en slave)
;Une fois toute ces opération réalisée le master est devenu le slave, Il reste à supprimer le fichier /var/lib/mysql/master.info
mysql> CHANGE MASTER TO MASTER_HOST='', MASTER_USER='replic', MASTER_PASSWORD='PASSWORD', MASTER_PORT=3306 ,MASTER_LOG_FILE='FILE', MASTER_LOG_POS=POS;
: mysql -u root -p
: mysql> stop SLAVE;


# repasser le slave en "read write"
: rm /var/lib/mysql/master.info
mysql> use DATABASE;
mysql> unlock tables;


# Une fois toute ces opération réalisée le master est devenu le slave
: mysql -u root -p
Il reste à supprimer le fichier /var/lib/mysql/master.info
: mysql> start SLAVE;
mysql -u root -p
mysql> stop SLAVE;
 
rm /var/lib/mysql/master.info
 
mysql -u root -p
mysql> start SLAVE;


== [http://www.dj-j.net/waka/Linux:Administration_MySQL Documentation sur MySQL]==
== [http://www.dj-j.net/waka/Linux:Administration_MySQL Documentation sur MySQL]==

Version du 12 mars 2012 à 15:52

Réaliser des dumps

mysqldump --extended-insert=FALSE --add-drop-table --user=$USER --password=$PASS $DATABASE > dump.sql
mysqldump --extended-insert=FALSE --add-drop-table --no-data --user=$USER --password=$PASS $DATABASE > dump_schema.sql


Basculer un slave en master et le master en slave

faire passer le master en "read only"
mysql -u root -p
mysql> use DATABASE;
mysql> flush tables with read lock;
stopper le slave
mysql -u root -p
mysql> stop SLAVE;
noter la position du serveur en slave
mysql -u root -p
mysql> show master status\G
sur le master (passage en slave)
mysql> CHANGE MASTER TO MASTER_HOST=, MASTER_USER='replic', MASTER_PASSWORD='PASSWORD', MASTER_PORT=3306 ,MASTER_LOG_FILE='FILE', MASTER_LOG_POS=POS;
repasser le slave en "read write"
mysql> use DATABASE;
mysql> unlock tables;
Une fois toute ces opération réalisée le master est devenu le slave, Il reste à supprimer le fichier /var/lib/mysql/master.info
mysql -u root -p
mysql> stop SLAVE;
rm /var/lib/mysql/master.info
mysql -u root -p
mysql> start SLAVE;

Documentation sur MySQL

Identifier les tables en innodb

use information_schema
SELECT CONCAT(`TABLE_SCHEMA`,".",`TABLE_NAME`) FROM TABLES WHERE ENGINE = "InnoDB";