उबंटू में MySQL टेबल नेम केस असंवेदनशील कैसे बना?


44

मैं Ubuntu 13.10 और MySQL 5.6 का उपयोग कर रहा हूं और मुझे पता है कि डेटाबेस का नाम और तालिका का नाम डिफ़ॉल्ट रूप से उबंटू (और कुछ अन्य * निक्स वातावरण) में संवेदनशील है।

अब, मैं MySQL को उबंटू में असंवेदनशील के रूप में काम करना चाहता हूं ।

क्या यह संभव है? यदि हाँ, तो मैं यह कैसे कर सकता हूँ?

जवाबों:


51

टर्मिनल खोलें और संपादित करें /etc/mysql/my.cnf

sudo nano /etc/mysql/my.cnf

[mysqld]अनुभाग के नीचे।

lower_case_table_names = 1

Mysql को पुनरारंभ करें

sudo /etc/init.d/mysql restart

फिर इसे यहां देखें:

mysqladmin -u root -p variables

2
यह उपलब्ध न होने पर आपको इस अनुभाग को जोड़ना होगा। अन्यथा पुनः आरंभ विफल हो जाएगा।
अलेक्जेंडर

10

यदि आप lower_case_table_namesमौजूदा तालिका MySQL> तालिका के साथ DB में बदलते हैं तो तालिका मौजूद नहीं है। लेकिन यह (या यह होना चाहिए) हो सकता है।

इस उत्तर पर टिप्पणी से मुझे इस मामले में मदद मिली:

मैंने मान वापस किया, डेटाबेस को फिर से शुरू किया, तालिकाओं को निर्यात किया, मान 1 पर वापस सेट किया, डेटाबेस को फिर से शुरू किया, तालिकाओं को फिर से आयात किया और सब कुछ फिर से काम किया।


5

यह समस्या मेरे लिए दर्द का कारण बन रही थी, जहाँ डॉक्ट्रिन ने पूंजी / CamelCase तालिका नाम उत्पन्न किए और MySQL ने उन्हें लोअरकेस के रूप में संग्रहीत किया!

इसे बदलकर my.cnfऔर जोड़कर हल किया गया

lower_case_table_names = 1

[mysqld] अनुभाग के तहत

my.cnf पाया जा सकता है:

  • LAMPP / XAMPP के तहत ...:

    /opt/lampp/etc/my.cnf

  • अकेले mysql सर्वर खड़े हो जाओ:

    /etc/mysql/my.cnf

बाद में MySQL सर्वर को पुनरारंभ करें, और सबकुछ ठीक हो जाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.