MySQL i el seu fork MariaDB són dos sistemes de gestió de bases de dades relacionals àmpliament utilitzats en el desenvolupament d'aplicacions web i empresarials. Ambdós admeten diferents motors d'emmagatzematge, essent dos dels més comuns MyISAM i InnoDB. Tot i que MyISAM ha estat popular per la seva simplicitat, InnoDB s'ha convertit en la opció preferida gràcies a les seves característiques avançades de transaccions i recuperació d'errors. Si desitges millorar la integritat i la fiabilitat de les teves dades, canviar les taules de MyISAM a InnoDB és una bona decisió. En l'article següent, et guiarà en els passos per realitzar aquesta migració de manera efectiva.
Realitzar còpia de seguretat (recomanat)
Abans de realitzar qualsevol canvi en l'estructura de la base de dades, és important fer una còpia de seguretat completa. Això garantirà que puguis restaurar les dades en cas de qualsevol problema durant el procés de modificació. Utilitza la teva eina de còpia de seguretat preferida, ja sigui a través de la línia de comandes o mitjançant una interfície gràfica. Per exemple, utilitzant mysqldump o mariadbdump:
# mysqldump -u root -p nom_de_la_base_de_dades > backup.sql
Crear sentències SQL de canvi
Un cop feta la còpia de seguretat de la base de dades, accedeix amb un client al servidor de bases de dades. Per exemple, utilitzant l'usuari root i el client mysql:
# mysql -u root
Un cop dins de MySQL o MariaDB, executa el següent (modificant el nom per la base de dades):
SET @DATABASE_NAME = 'nom_de_la_base_de_dades';
Després, executa el següent (no realitza cap canvi):
SELECT CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;')
AS sql_statements FROM information_schema.tables
AS tb WHERE table_schema = @DATABASE_NAME
AND `ENGINE` = 'MyISAM' AND `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;
Realitzarà una cerca de totes les taules MyISAM i com a resultat, et donarà una llista de sentències per modificar les taules. Pots copiar les sentències individualment i executar-les manualment, també pots automatitzar-ho extreient el resultat i executant directament la sentència completa.
Executar sentències
Utilitza la base de dades per executar les sentències obtingudes:
use 'nom_de_la_base_de_dades';
I finalment, executa les ALTER TABLE de les taules desitjades que vulguis modificar a InnoDB (també pots executar tot el SQL per aplicar el canvi a totes):
ALTER TABLE `exemple_taula` ENGINE=InnoDB;
Canviar les taules de MyISAM a InnoDB a MySQL o MariaDB pot millorar significativament la fiabilitat i la integritat de les teves dades. No obstant això, sempre és recomanable realitzar aquests canvis en un entorn de proves abans d'aplicar-los en un entorn de producció. Amb la còpia de seguretat adequada i seguint aquests passos, estaràs en camí de gaudir dels avantatges que ofereix InnoDB en termes de transaccions i rendiment.
Esperem que aquest tutorial t'hagi estat de utilitat; si tens consultes sobre aquesta o altres qüestions relacionades amb els teus servidors a Clouding, no dubtis a contactar a soporte@clouding.io Estem aquí per ajudar-te!