MYSQL
- PB SQL FAILOVER
- Commandes General
- Dump/Restore
- Mysql innodb cache info
- Modification du compte mysql_monitor
PB SQL FAILOVER
Clic droit --> Failover…
Next
Finish
Vérifier que le 1 est bien passé en Primary ainsi que le 2 en Secondary
Commandes General
Poids base de doonnées
SELECT sum( data_length + index_length) / 1024 / 1024 "Nom-de-la-base Taille en Mo" FROM information_schema.TABLES WHERE table_schema = "nom-de-base" GROUP BY table_schema;
Read permission
GRANTSELECTON DBNAME.TABLE_NAME TO USERNAME
liste toutes les BDD
show databases;
se met sur la BDD qui nous intéresse
Use nomdelabdd;
Suppression de la BDD
Drop database nomdelabdd;
Création de la BDD
Create database nomdelabdd;
Dans le cas où le compte mysqldump n'a pas les droits de restauration de dump
grant all privileges on *.* to mysqldump@localhost;
Restauration du dump dans la BDD
mysql -u mysqldump -p "nomdelabdd" < "/production/mysql_dump/nomdelabdd.sql"
Vérification de la bonne restauration du dump
ls -alsh /production/mysql/nomdelabdd/
Pour se connecter
mysql
Pour avoir la taille de toutes les BDD:
SELECT table_schema AS "Database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema;
Pour avoir la taille de toutes les tables d'une BDD:
SELECT table_name AS "Table", ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)" FROM information_schema.TABLES WHERE table_schema = "database_name" ORDER BY (data_length + index_length) DESC;
Reset Mot de passe Mysql:
ALTER USER 'mysqldump'@'localhost' IDENTIFIED BY 'dump';
Dump/Restore
Création de dump Mysql:
/usr/bin/mysqldump -u mysqldump -p name | gzip -c --best > /production/mysql_dump/Save_25.sql.gz
Dezip d'un dump au format sql.gz :
gunzip /production/mysql_dump/Save_25.sql.gz /tmp
Attention cela remplace le fichier d'origine en .sql
Affichage de tous les droits sur une BDD:
Use name;
SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;
Restauration d'un dump Mysql avec le dump au format .sql :
show databases; --> liste toutes les BDD
Use nomdelabdd; --> On se met sur la BDD qui nous intéresse
Drop database nomdelabdd; --> Suppression de la BDD actuelle
Create database nomdelabdd; --> Création de la BDD
grant all privileges on *.* to mysqldump@localhost; --> Dans le cas où le compte mysqldump n'a pas les droits de restauration de dump
mysql -u mysqldump -p nomdelabdd < /production/mysql_dump/nomdelabdd.sql --> Restauration du dump dans la BDD nouvellement créée
ls -alsh /production/mysql/nomdelabdd/ --> Vérification de la bonne restauration du dump, voir s'il y a des éléments récents
Pour info, utiliser la commande pv lors de la restauration d'un dump afin de voir en live ce que fait la restauration:
Mysql innodb cache info
Vérifier taille Buffer Pool Size:
mysql
SELECT FORMAT (BufferPoolPages*PageSize/POWER(1024,3),2) BufferPoolDataGB FROM (SELECT variable_value BufferPoolPages FROM information_schema.global_status WHERE variable_name ='Innodb_buffer_pool_pages_total') A, (SELECT variable_value PageSize FROM information_schema.global_status WHERE variable_name ='Innodb_page_size') B;
Vérifier données en cache:
Mysql
SELECT FORMAT (BufferPoolPages*PageSize/POWER(1024,3),2) BufferPoolDataGB FROM (SELECT variable_value BufferPoolPages FROM information_schema.global_status WHERE variable_name ='Innodb_buffer_pool_pages_data') A, (SELECT variable_value PageSize FROM information_schema.global_status WHERE variable_name ='Innodb_page_size') B;
Vérifier % d'utilisation en cache:
SELECT CONCAT (FORMAT (DataPages*100.0/TotalPages,2),' %') BufferPoolDataPercentage FROM (SELECT variable_value DataPages FROM information_schema.global_status WHERE variable_name ='Innodb_buffer_pool_pages_data') A, (SELECT variable_value TotalPages FROM information_schema.global_status WHERE variable_name ='Innodb_buffer_pool_pages_total') B;
Données supplémentaires sur le cache:
SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool%';
Statut Innodb:
SHOW ENGINE INNODB STATUS;
Buffer hit ratio:
SELECT round ((P2.variable_value /P1.variable_value),4), P2.variable_value, P1.variable_value FROM information_schema.GLOBAL_STATUS P1, information_schema.GLOBAL_STATUS P2 WHERE P1. variable_name ='innodb_buffer_pool_read_requests'ANDP2. variable_name ='innodb_buffer_pool_reads';
Modification du compte mysql_monitor
mysql
SHOW DATABASES;
select user, host from mysql.users;
UPDATE user SET password=PASSWORD('PASSWORD') WHERE user='mysql_monitor';
si la commande ci-dessous ne fonctionne pas
ALTER USER 'mysql_monitor' IDENTIFIED BY '************';
FLUSH PRIVILEGES;