Maison  >  Article  >  base de données  >  Comment rendre les noms de tables MySQL insensibles à la casse sous Linux ?

Comment rendre les noms de tables MySQL insensibles à la casse sous Linux ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-01 13:43:02434parcourir

How to Make MySQL Table Names Case-Insensitive on Linux?

Résoudre la sensibilité à la casse des noms de tables MySQL sous Linux

Introduction

La sensibilité à la casse des noms de tables MySQL peut créer des problèmes de compatibilité lors de la migration sites Web des serveurs Apple aux serveurs Linux. Alors que les serveurs Mac et Windows disposent d'un système de fichiers par défaut insensible à la casse, ce n'est généralement pas le cas des serveurs Linux. Cela peut entraîner des noms de table dans les requêtes qui ne correspondent pas et provoquer des dysfonctionnements du site Web.

Solution

Pour résoudre ce problème et faire en sorte que Linux MySQL se comporte sans tenir compte de la casse comme Mac et Windows serveurs, une variable système appelée lower_case_table_names peut être modifiée. Cette variable dicte la façon dont le serveur gère la sensibilité à la casse de l'identifiant.

Étapes

  1. Dans le fichier de configuration MySQL (my.cnf ou my.ini), localisez le lower_case_table_names et définissez sa valeur sur 1.
  2. Redémarrez le service MySQL pour appliquer les modifications.

En définissant lower_case_table_names sur 1, les noms de tables seront stockés en minuscules sur le disque et les requêtes ne sera plus sensible à la casse. Cela garantit la compatibilité avec les scripts de l'ancien site Web sans qu'il soit nécessaire de modifier les noms de tables ou les scripts.

Informations supplémentaires

  • Les noms de bases de données et de tables ne sont généralement pas sensibles à la casse. sur Mac et Windows en raison de leurs systèmes de fichiers insensibles à la casse.
  • Sous Linux, le système de fichiers est généralement sensible à la casse, ce qui rend les noms de tables également sensibles à la casse.
  • Réglage de lower_case_table_names sur 0 doit être évité si vous exécutez MySQL sur des systèmes avec des noms de fichiers insensibles à la casse (par exemple, Windows ou Mac OS X) pour éviter la corruption de l'index.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn