MyISAM to InnoDB

Remplacer your_database par le nom de votre base de données : SELECT CONCAT('ALTER TABLE ',CONCAT(TABLE_SCHEMA,'.',TABLE_NAME),' ENGINE=InnoDB;') FROM INFORMATION_SCHEMA.TABLES WHERE ENGINE='MyISAM' AND TABLE_SCHEMA = 'your_database' INTO OUTFILE '/tmp/mysql.conversions'; Vérifier le contenu de /tmp/mysql.conversions et on le joue : SOURCE /tmp/mysql.conversions;

8 septembre 2022 Â· 1 min

SQL: copie simple d'une table

Pour ne plus oublier : insert into new_table (select * from old_table);

4 octobre 2021 Â· 1 min

DĂ©sactiver les queries cache et subqueries

Lorsque l’on dĂ©sactive le query_cache, les sous requĂȘtes ne le sont pas. Mettre : set global query_cache_type=0; set global optimizer_switch="subquery_cache=off";

11 mars 2017 Â· 1 min

Optimisation de configuration MariaDB / MySQL

Voici une configuration qui fonctionne sur un site Ă  fort trafic. !!! note À adapter Ă  la taille de la base et au trafic utilisateurs. On dĂ©sactive le cache de requĂȘtes. L’invalidation de ce cache est coĂ»teuse et vĂ©rrouille tout le cache pendant sa mise Ă  jours. set global query_cache_type=0; set global optimizer_switch="subquery_cache=off"; On dĂ©fini par exemple : # si la db fait 20Go innodb_buffer_pool_size = 20Go innodb_buffer_pool_instances = 20 # threads innodb simultanĂ©s : 2 x nb de CPU + nb de disques innodb_thread_concurrency = 86 # vĂ©rifier la frĂ©quence de fork de Mariadb/MySQL et les pics de nb de threads thread_cache = 128 # on vĂ©rifie la frĂ©quence d'accĂšs aux tables table_cache = 2048 # on active les log des requĂȘtes lentes : slow_query_log = 1 # on remonte les requĂȘtes lentes au delĂ  de la seconde long_query_time = 1 slow_launch_time = 1 Explications Dimensionner correctement innodb_buffer_pool permet de garder les donnĂ©es en mĂ©moire aprĂšs leur lecture. La limitation de innodb_thread_concurrency Ă©vite les fork bombs lorsque des requĂȘtes sont bloquĂ©es. Le thread_cache permet d’éviter la crĂ©ation et la suppression de threads lors d’un trafic normal.

10 mars 2017 Â· 1 min

Remplacer dans MySQL/MariaDB un regex dans une colonne

Un petit tips rapide. Afin de remplacer une chaüne de caractùres d’une colonne par une autre. UPDATE table SET nom_colonne = REPLACE(nom_colonne, 'ancien texte', 'texte de remplacement') 😀

10 mars 2017 Â· 1 min

mysqldumpslow

Afin d’analyser rapidement un problĂšme de reqĂ»etes sur une base de donnĂ©es en temps et en nombre. Sur une instance MySQL ou MariaDB : activation des slowquery mysqldumpslow du fichiers de log

5 mars 2017 Â· 1 min