Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL 5.7 . में स्ट्रिक्ट SQL मोड को डिसेबल कैसे करें

यदि आपका ऐप MySQL के पुराने संस्करणों के लिए लिखा गया था और MySQL 5.7 में सख्त SQL मोड के साथ संगत नहीं है, तो आप सख्त SQL मोड को अक्षम कर सकते हैं। उदाहरण के लिए, WHMCS 6 और Craft 2 जैसे ऐप्स सख्त SQL मोड का समर्थन नहीं करते हैं।

यदि आप WHMCS 7 का उपयोग कर रहे हैं, तो WHMCS 7 के लिए MySQL को अनुकूलित करने पर हमारा लेख देखें।

सख्त SQL मोड को अक्षम करने के लिए, SSH आपके सर्वर में रूट . के रूप में और नैनो . का उपयोग करके एक नई कॉन्फ़िगरेशन फ़ाइल बनाएं या अपनी पसंद का संपादक:

sudo nano /etc/mysql/conf.d/disable_strict_mode.cnf

फ़ाइल में, इन दो पंक्तियों को दर्ज करें:

[mysqld]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

CTRL + X . दबाकर फ़ाइल को सेव करें , फिर y , फिर ENTER परिवर्तनों की पुष्टि करने के लिए।

अंत में, इस कमांड के साथ MySQL को रीस्टार्ट करें:

sudo service mysql restart

यह परिवर्तन दो SQL मोड सेटिंग्स, STRICT_TRANS_TABLES और ONLY_FULL_GROUP_BY को अक्षम कर देता है, जिन्हें MySQL 5.7 में जोड़ा गया था और कुछ पुराने अनुप्रयोगों के लिए समस्याएँ पैदा करता है।

सख्त SQL मोड की पुष्टि करना अक्षम है

आप इस कमांड को रूट . के रूप में चलाकर पुष्टि कर सकते हैं कि सख्त SQL मोड अक्षम है :

sudo mysql -i -BN -e 'SELECT @@sql_mode' | grep -E 'ONLY_FULL_GROUP_BY|STRICT_TRANS_TABLES'

यदि सख्त मोड अक्षम है, तो आप उस आदेश से कोई आउटपुट नहीं देखेंगे।

यदि सख्त मोड को अक्षम करने से आपके लिए कोई समस्या आती है, तो आप उस फ़ाइल को हटाकर और MySQL को पुनः प्रारंभ करके इसे पुनः सक्षम कर सकते हैं।

सख्त SQL मोड त्रुटियाँ कैसी दिखती हैं

यदि आपका ऐप सख्त SQL मोड के साथ संगत नहीं है, तो आपको अक्सर SQL त्रुटियाँ दिखाई देंगी जैसे:

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of
SELECT list is not in GROUP BY clause and contains nonaggregated column
'yourdbname.tblannouncements.date' which is not functionally dependent on
columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
के साथ असंगत है

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं क्वेरी देखने के लिए INDEX का उपयोग करने के लिए MySQL कैसे प्राप्त करूं?

  2. अमान्य सिंटैक्स त्रुटि प्रकार =हाइबरनेट द्वारा उत्पन्न डीडीएल में MyISAM

  3. मेरा MySQL डेटाबेस दूषित है... अब मैं क्या करूँ?

  4. 'लोड डेटा' के साथ MySQL अनुमति त्रुटियां

  5. MySQL दृश्यों की सूची कैसे प्राप्त करें?