Mysql
De Admin -- TALEVAS.
(Différences entre les versions)
| Ligne 74 : | Ligne 74 : | ||
On peu ensuite vérifier que le slave se synchronise bien (l'autre vue sans le -E est illisible pour moi ...) | On peu ensuite vérifier que le slave se synchronise bien (l'autre vue sans le -E est illisible pour moi ...) | ||
| − | mysql> | + | mysql> SHOW SLAVE STATUS; |
*************************** 1. row *************************** | *************************** 1. row *************************** | ||
Slave_IO_State: Waiting for master to send event | Slave_IO_State: Waiting for master to send event | ||
| Ligne 109 : | Ligne 109 : | ||
Master_SSL_Key: | Master_SSL_Key: | ||
Seconds_Behind_Master: 0 | Seconds_Behind_Master: 0 | ||
| + | |||
| + | |||
| + | |||
| + | == Tunnel SSH == | ||
| + | |||
| + | Ouvre le port 133006 sur la machine local | ||
| + | ssh -f -N -L 13306:localhost:3306 root@rps.talevas.com | ||
| + | -f pour faire passer la connection en background | ||
| + | -N ne laisse pas passer de commandes | ||
Version du 23 février 2008 à 17:10
Sommaire |
MYSQL
désactiver les logs binaires qui prennent plein de place pour rien sur une machine en prod.
vim /etc/mysql/my.cnf
commenter la ligne log-bin et la suivante.
Déplacer le répertoire de stockage des bases de données.
cp -rp /var/lib/mysql /home (par exemple) vim /etc/mysql/my.cnf
modifier la ligne "datadir"
#datadir = /var/lib/mysql datadir = /home/mysql
mysqladmin -u root flush-privileges password ******** --socket=/var/run/mysqld/mysqld-ns37682.sock
connection en local
mysql -u root -p******* -E --socket=/var/run/mysqld/mysqld-ns37682.sock user password -E => presentation à la vertical plutôt qu'a l'horizontal --socket => permet de prendre un autre service que celui par defaut
replication
la doc sur le site de mysql => [1]
On lock les tables en écriture
mysql> FLUSH TABLES WITH READ LOCK;
On lance le dump de toutes les données.
mysqldump -u USER -p****** -A > /PATH/TO/DUMPFILE
On récupère la position du master
mysql> SHOW MASTER STATUS;
*************************** 1. row ***************************
File: ns20587.000012
Position: 8330324
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)
autre présentations en fonction de la façon de se loguer ( -E )
mysql> SHOW MASTER STATUS; +----------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +----------------+----------+--------------+------------------+ | ns20587.000012 | 8707042 | | | +----------------+----------+--------------+------------------+
On unlock les tables
mysql> UNLOCK TABLES;
On restaure les données sur le slave après les y avoir transféré.
mysql -u USER -p******** < /PATH/TO/DUMPFILE
On donne les au slave les instructions pour qu'il aille chercher sur le master les infos dans les fichiers bin.
mysql> CHANGE MASTER TO MASTER_HOST='HOSTNAME', MASTER_USER='USER', MASTER_PASSWORD='********', MASTER_LOG_FILE='FILE', MASTER_LOG_POS=POSITION;
On peu ensuite vérifier que le slave se synchronise bien (l'autre vue sans le -E est illisible pour moi ...)
mysql> SHOW SLAVE STATUS;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: vpn.talevas.com
Master_User: root
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: ns20587.000012
Read_Master_Log_Pos: 8726915
Relay_Log_File: mysqld-relay-bin.000008
Relay_Log_Pos: 1508334
Relay_Master_Log_File: ns20587.000012
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 8726915
Relay_Log_Space: 1508334
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Tunnel SSH
Ouvre le port 133006 sur la machine local
ssh -f -N -L 13306:localhost:3306 root@rps.talevas.com -f pour faire passer la connection en background -N ne laisse pas passer de commandes