Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Un outil de ligne de commande PHP simple pour convertir des tables MySQL de MyISAM en InnoDB dans une base de données spécifiée

12

Le moteur de base de données MySQL MyISAM a été déprécié dans la dernière version depuis la 5.5.1. Le MyISAM est un verrouillage de table tandis qu’InnoDB (maintenant le moteur de base de données par défaut pour MySQL depuis 5.5.1) utilise le basculement au niveau de la ligne. InnoDB devrait être le moteur de base de données préféré et recommandé si vous souhaitez créer de nouvelles applications/tables. Une lacune des tables MyISAM est qu’elles ne prennent pas en charge les transactions. InnoDB et MyISAM prennent en charge l’index de recherche en texte intégral.

Vous pouvez utiliser la table ALTER TABLE ENGINE=INNODB pour changer une table en InnoDB mais si vous avez de nombreuses tables dans une base de données, par exemple WordPress, il sera fastidieux de rechercher des tables MyISAM et de les convertir une par une.

Heureusement, le PHP suivant peut être exécuté en ligne de commande, et il prend des paramètres de noms de bases de données – que vous pouvez transmettre à de nombreuses bases de données, et il recherchera les tables de ces bases de données qui sont actuellement le moteur MyISAM et émettra une commande ALTER TABLE pour chacun d’eux.

Exemple d’utilisation :

# php convert_to_innodb.php wordpress ConvertAllTablesToInnoDB wordpress... ALTER TABLE `wp_commentmeta` ENGINE=INNODB ALTER TABLE `wp_comments` ENGINE=INNODB ALTER TABLE `wp_icl_string_translations` ENGINE=INNODB ALTER TABLE `wp_imagify_files` ENGINE=INNODB ALTER TABLE `wp_imagify_folders` ENGINE=INNODB ALTER TABLE `wp_itsec_lockouts` ENGINE=INNODB ALTER TABLE `wp_itsec_log` ENGINE=INNODB ALTER TABLE `wp_itsec_temp` ENGINE=INNODB ALTER TABLE `wp_links` ENGINE=INNODB ALTER TABLE `wp_options` ENGINE=INNODB ALTER TABLE `wp_postmeta` ENGINE=INNODB ALTER TABLE `wp_posts` ENGINE=INNODB ALTER TABLE `wp_term_relationships` ENGINE=INNODB ALTER TABLE `wp_term_taxonomy` ENGINE=INNODB ALTER TABLE `wp_termmeta` ENGINE=INNODB ALTER TABLE `wp_terms` ENGINE=INNODB ALTER TABLE `wp_usermeta` ENGINE=INNODB ALTER TABLE `wp_users` ENGINE=INNODB ALTER TABLE `wp_wc_download_log` ENGINE=INNODB ALTER TABLE `wp_wc_webhooks` ENGINE=INNODB ALTER TABLE `wp_woocommerce_api_keys` ENGINE=INNODB ALTER TABLE `wp_woocommerce_attribute_taxonomies` ENGINE=INNODB ALTER TABLE `wp_woocommerce_downloadable_product_permissions` ENGINE=INNODB ALTER TABLE `wp_woocommerce_log` ENGINE=INNODB ALTER TABLE `wp_woocommerce_order_itemmeta` ENGINE=INNODB ALTER TABLE `wp_woocommerce_order_items` ENGINE=INNODB ALTER TABLE `wp_woocommerce_payment_tokenmeta` ENGINE=INNODB ALTER TABLE `wp_woocommerce_payment_tokens` ENGINE=INNODB ALTER TABLE `wp_woocommerce_sessions` ENGINE=INNODB ALTER TABLE `wp_woocommerce_shipping_zone_locations` ENGINE=INNODB ALTER TABLE `wp_woocommerce_shipping_zone_methods` ENGINE=INNODB ALTER TABLE `wp_woocommerce_shipping_zones` ENGINE=INNODB ALTER TABLE `wp_woocommerce_tax_rate_locations` ENGINE=INNODB ALTER TABLE `wp_woocommerce_tax_rates` ENGINE=INNODB ALTER TABLE `wp_wpio_images` ENGINE=INNODB ALTER TABLE `wp_yith_ywpar_points_log` ENGINE=INNODB

Certaines bases de données appartiennent à MySQL, par exemple sys, mysql – ces tables ont des types de moteur tels que mémoire, csv – veuillez ne pas les convertir en InnoDB.

MySQL

Vous pourriez également aimer : Gadget PHP pour convertir les tables MyISAM de MySQL en InnoDB

Source d’enregistrement: helloacm.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More