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

अज्ञात प्रारंभिक वर्ण सेट अनुक्रमणिका त्रुटि फिर से पेश की गई?

यह 8.0 के बाद से हुए परिवर्तनों के बारे में बात करता है एक बिंदु जो आपके लिए सूचीबद्ध किया गया है वह यह है:

नतीजतन, नई वस्तुओं के लिए डिफ़ॉल्ट वर्ण सेट और संयोजन पहले से भिन्न होता है जब तक कि एक स्पष्ट वर्ण सेट और संयोजन निर्दिष्ट नहीं किया जाता है। इसमें डेटाबेस और ऑब्जेक्ट शामिल हैं, जैसे टेबल, व्यू और स्टोर किए गए प्रोग्राम।

पिछले डिफ़ॉल्ट को संरक्षित करने का एक तरीका है my.cnf में इन पंक्तियों के साथ सर्वर प्रारंभ करना फ़ाइल:

[mysqld]
character_set_server=latin1
collation_server=latin1_swedish_ci

एक अन्य विकल्प, चूंकि आप docker चला रहे हैं, इन कॉन्फ़िगरेशन विकल्पों को docker run कमांड के कमांड लाइन तर्क के रूप में निर्दिष्ट करना है। उदाहरण के लिए:

docker run -d \
--network my-net \
-h mysqldb \
--name mysqldb \
-p 3306:3306 \
-e MYSQL_RANDOM_ROOT_PASSWORD=yes \
-e MYSQL_DATABASE=mydb \
-e MYSQL_USER=admin \
-e "MYSQL_PASSWORD=admin" \
mysql:8 --character-set-server=latin1 --collation-server=latin1_swedish_ci

क्लाइंट पर, यदि आप परिवर्तन करना चाहते हैं - उम्मीद है कि ये पर्याप्त होंगे:

कनेक्टर/जे के साथ 4-बाइट UTF-8 वर्ण सेट का उपयोग करने के लिए, MySQL सर्वर को character_set_server=utf8mb4 के साथ कॉन्फ़िगर करें , और characterEncoding . छोड़ दें कनेक्टर/जे कनेक्शन स्ट्रिंग से बाहर।

फिर कनेक्टर/जे UTF-8 का स्वतः पता लगा लेगा सेटिंग

आशा है कि यह मदद करेगा!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql सॉर्टिंग और रैंकिंग स्टेटमेंट

  2. एक MySQL डेटाबेस में 60 बूलियन कैसे स्टोर करें?

  3. MySQL:तालिका नहीं बना सकता (त्रुटि:150)

  4. MySQL संबंध

  5. आईबीएम वर्कलाइट - संग्रहीत प्रक्रिया का आह्वान करते समय आउट पैरामीटर कैसे प्राप्त करें?