DBMS/MySQL/XtraDBCluster/Manage
Aller à la navigation
Aller à la recherche
Script de test
#!/usr/bin/php
<?php
// CONNECT TO THE DATABASE
$DBNAME = 'didier';
$DBHOST = '192.168.122.136';
$DBUSER = 'didier';
$DBPASS = 'ght1vtt9';
$NBLOOP = 25000;
$CREATE_TABLE = "CREATE TABLE IF NOT EXISTS test ( " .
"id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, " .
"`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, " .
"`name` varchar(25) NOT NULL, " .
"`text` varchar(50) NOT NULL " .
") ENGINE=InnoDB AUTO_INCREMENT=1;";
$mysqli = new mysqli( $DBHOST, $DBUSER, $DBPASS, $DBNAME );
if ( mysqli_connect_errno() ) {
printf( "Connect failed: %s\n", mysqli_connect_error() );
exit( -1 );
}
$result = $mysqli->query( $CREATE_TABLE ) or print $mysqli->error."\n";
for ( $i = 0 ; $i < $NBLOOP ; $i++ )
{
$val = substr( md5( microtime() ), rand( 0,26 ), 48 );
$query = "INSERT INTO test(name, text) VALUES('didier', '$val')";
$result = $mysqli->query( $query ) or print $mysqli->error."\n";
}
// Print first row
$query = "SELECT * FROM test LIMIT 1";
$result = $mysqli->query($query) or print $mysqli->error."\n";
if( $result->num_rows > 0 ) {
while( $row = $result->fetch_assoc() ) {
print_r( $row);
}
echo "\n";
}
else {
echo "NO RESULTS\n";
}
mysqli_close($mysqli);
?>
Restart du cluster après un arrêt général
- Sur un noeuds
service mysql restart-bootstrap
- Sur les autres noeuds
service mysql restart
Redémarrage après un crash
- Il faut s'assurer que la clé suivante est bien décommentée et renseignée dans <path>/etc/my.cnf</path>
wsrep_sst_donor = clust-node1
- Si l'erreur suivante est rencontrée au démarrage du service mysql
ERROR! MySQL (Percona XtraDB Cluster) is not running, but PID file exists
Il faut supprimer le fichier PID (*.pid) dans <path>/var/lib/mysql/</path>