MySQL 8 ने डिफ़ॉल्ट वर्णसेट को utf8mb4 में बदल दिया। लेकिन कुछ क्लाइंट इस चारसेट को नहीं जानते हैं। इसलिए जब सर्वर क्लाइंट को अपने डिफ़ॉल्ट चारसेट की रिपोर्ट करता है, और क्लाइंट को यह नहीं पता कि सर्वर का क्या मतलब है, तो यह इस त्रुटि को फेंक देता है।
यह भी देखें https://bugs.mysql.com/bug.php?id=71606
वह बग MySQL Connector/C++ के खिलाफ है इसलिए यह सिर्फ PHP से ज्यादा प्रभावित कर रहा है।
ठीक है—मैंने इसे गैर-उन्नत क्लाइंट के साथ संगत होने के लिए वर्ण सेट को utf8 में बदलकर काम करने के लिए प्राप्त किया। मैंने इसे /etc/my.cnf में जोड़ा और mysqld को पुनः आरंभ किया:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
मुझे ये सेटिंग 2010 के एक उत्तर में मिली:my.cnf में MySQL के डिफ़ॉल्ट कैरेक्टर को UTF-8 में बदलें?