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

मारियाडीबी 10.6 और नेक्स्टक्लाउड:संपीड़ित पंक्ति डिफ़ॉल्ट रूप से केवल पढ़ने के लिए है

मैंने कल ओपनबीएसडी 6.9 से 7.0 में अपग्रेड किया था।
यह मारियाडीबी अपग्रेड लाया:10.5 से 10.6 तक।
मैंने my.cnf . की जांच की परिवर्तन और यह सब ठीक लग रहा था।
फिर भी, OpenBSD पर MariaDB का उपयोग करने वाले नेक्स्टक्लाउड सर्वर पर समस्या पाई गई।

क्या हुआ पैकेज को अपडेट करने में विफलता।
मैं वेब ब्राउज़र के साथ नेक्स्टक्लाउड सर्वर से जुड़ा हूं। ऐप डैशबोर्ड नहीं था, और अपडेटर इसके बजाय शुरू होने की प्रतीक्षा कर रहा था। इसका मतलब था pkg_add -u NextCloud को अपडेट करने में विफल रहा था। पृष्ठ पर प्रारंभ बटन पर क्लिक करने से यह दिखा कि कुछ अपवाद हुआ है।

मैंने nextcloud.log read पढ़ा सर्वर में और मिला:

"level":3,
(...)
"Exception":"Doctrine\\DBAL\\Exception\\DriverException",
"Message":"An exception occurred while executing a query: 
SQLSTATE[HY000]: 
General error: 
4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.","Code":4047,

जहां तक ​​COMPRESSED है पंक्ति प्रारूप, मारियाडीबी इसे "केवल लिखने के समर्थन को हटाकर और सुविधा को हटाकर" पढ़ने के लिए रास्ते पर है।
उन्होंने innodb_read_only_compressed¶ . की शुरुआत की 10.6.0 पर विकल्प जो ON . था डिफ़ॉल्ट रूप से।

यही कारण है कि OpenBSD 7.0 पर नेक्स्टक्लाउड (21.0.4 से) को 21.0.5 में अपडेट करना विफल रहा। यह ओएस या ऐप संस्करण के कारण नहीं था बल्कि मारियाडीबी के साथ संगतता थी जिसका संस्करण 10.6.0 से अधिक या उसके बराबर है।
नेक्स्टक्लाउड रेपो में इससे संबंधित एक खुला मुद्दा है।

ठीक है, मैंने /etc/my.cnf संपादित किया है अस्थायी रूप से समस्या को हल करने के लिए:

  [mysqld]
  (...)
+ innodb_read_only_compressed = 0

इसके अलावा, मुझे यह नहीं मिला कि इसे किसी विशिष्ट डेटाबेस या तालिका और यहां तक ​​कि संभावना पर कैसे सेट किया जाए😅

मैंने mysqld को पुनः प्रारंभ किया सर्वर में, और वेब पेज पर फिर से अपडेटर की कोशिश की। आखिरकार, यह पूरी तरह सफल रहा।

मैंने मारियाडीबी दस्तावेज और कई पोस्ट जैसे जीथब मुद्दों और ब्लॉगों की सराहना की। उन्होंने मेरी बहुत मदद की।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी में GET_FORMAT () कैसे काम करता है

  2. मारियाडीबी के समुदाय को तेजी से नवाचार प्रदान करना

  3. उच्च उपलब्धता के लिए मारियाडीबी प्रतिकृति की तैनाती

  4. किसी अन्य उपयोगकर्ता खाते (मैकोज़) से एक MySQL इंस्टेंस पुनर्प्राप्त करना

  5. 4 कार्य जो मारियाडीबी में एक समय मान से मिनट लौटाते हैं