MariaDB : passage des tables système en InnoDB

Pour ceux d’entre vous qui ne seraient pas férus de MySQL / MariaDB en particulier, sachez que ce moteur de bases de données relationnelles contient un schéma – une database – dans lequel sont stockées toutes les tables dites système. Les données stockées dans la base mysql concernent avant tout la gestion des droits, à l’image des tables mysql.user et mysql.db. Au fil des versions et des évolutions fonctionnelles, elles se sont étoffées de données complémentaires à l’image des tables innodb_table_stats et innodb_index_stats. Et puis, vous y trouverez également les tables general_log et slow_log au format CSV qui consignent l’activité sur la base lorsque vous affectez la valeur ‘TABLE’ à la variable système log_output.

MariaDB : passage des tables système en InnoDB

La procédure de conversion des tables du schéma mysql au format InnoDB

Cinq bases ne peuvent pas être converties en InnoDB :

Les tables user, db et host peuvent être converties en Aria.

Ce script a été mis en œuvre sur MariaDB 10.2 ! La procédure convert_mysql_innodb est créée ici dans le schéma tools.

CREATE DATABASE tools;
USE tools;
-- DROP PROCEDURE IF EXISTS convert_mysql_innodb;
DELIMITER //
CREATE PROCEDURE convert_mysql_innodb()
BEGIN
	DECLARE done INT DEFAULT FALSE;
	DECLARE strTable VARCHAR(255);
	DECLARE curTables CURSOR FOR
		SELECT TABLE_NAME FROM information_schema.TABLES
		WHERE table_schema ='mysql' AND table_type='BASE TABLE' AND TABLE_NAME NOT IN ('db','host','user','general_log','slow_log');
	DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
	OPEN curTables;
	read_loop: LOOP
		FETCH curTables INTO strTable;
	    IF done THEN
	      LEAVE read_loop;
	    END IF;	
		SET @t=strTable;
		SET @sql=CONCAT('ALTER TABLE `mysql`.`',@t,'` ENGINE=InnoDB');
		PREPARE stmt FROM @sql;
		EXECUTE stmt;
		DEALLOCATE PREPARE stmt;
	END LOOP;
	CLOSE curTables;
END;
//
DELIMITER ;

Exécution de la procédure de conversion

Sous MySQL / MariaDB, l’exécution d’une procédure se fait à l’aide de l’instruction CALL :

CALL tools.convert_mysql_innodb();

MariaDB / , ,

deneme bonusu veren siteler casino siteleri betdenemebonusu.com bahis siteleri Ev eşyası depolama Depolama Şehirlerarası evden eve nakliyat Evden eve nakliyat Eşya depolama yurtdışına ev taşıma Türkiye'den Almanya'ya ev taşıma zati eşya tasimaciligi uluslararasi zati eşya tasimaciligi eşya depolama şehirler arası nakliyat asansörlü nakliyat greatplay.net güvenilir online bahis siteler 2022 jetbahis Rexbet hovarda mobilbahis güncel adres sartsız Deneme Bonus sekabet maltcasino güncel adres> pinbahis100.com betduman.com olabahis.top سایت شرط بندی shartkade.com 1xbet-mobil.com beykoz evden eve nakliyat ataşehir evden eve nakliyat şişli evden eve nakliyat istanbul evden eve nakliyat
teens porn videos free sex xxx sexy videos