MariaDB आईएनसी टीसी लॉग इन नहीं कर सकता


21

मैंने इंटरनेट पर हर समाधान की कोशिश की है, लेकिन मेरा मारडब सर्वर विफल होना जारी है, मुझे धोखा देने के लिए जारी रखें, मेरे छोटे DevOps दुनिया को नष्ट करना जारी रखें। स्थिति को सुचारू करने के मेरे प्रयासों में सभी प्रकार की संतुष्टि शामिल थी: अनुमतियाँ बदलना, कॉन्फ़िगर करना, लॉग फ़ाइलों को हटाना, अपग्रेड / रीइंस्टॉल करना, उसकी आंतरिक फ़ाइलों को ऊपर और आसपास ले जाना, अन्य DBMS को हटाना, उसके अलावा सबकुछ हटा देना ... लेकिन वह कभी नहीं रहा। इतने लंबे समय के लिए इतना विरोध। मेरे आखिरी और एकमात्र आशा है कि आप लोग हमारे रिश्तों में इस तरह के महत्वपूर्ण क्षण के माध्यम से प्रकाश डालेंगे।

मैं योनि का उपयोग कर रहा हूं और समस्या datadirविकल्प में है - जब मैं डिफ़ॉल्ट पथ का उपयोग करता हूं तो सबकुछ ठीक है लेकिन जब मैं इसे योनि साझा फ़ोल्डर में बदल देता हूं तो मारिया भी शुरू नहीं होती है। मैंने सभी / var / lib / mysql फ़ाइलों को नए फ़ोल्डर में कॉपी किया है।

मेरे पास Windows होस्ट, Centos अतिथि और मेरे कॉन्फ़िगरेशन हैं:

MariaDb संस्करण:

mysql  Ver 15.1 Distrib 10.1.17-MariaDB, for Linux (x86_64) using readline 5.1

Vagrantfile:

# -*- mode: ruby; -*-

ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox'

Vagrant.configure("2") do |config|
  config.vm.box_url = "https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box"
  config.vm.box = "centos7"

  config.vm.network "private_network", ip: "10.0.1.10"

  config.vm.synced_folder "mysql", "/vagrant/mysql", owner: "mysql", group: "mysql"

  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "4096"]
    vb.customize ["modifyvm", :id, "--cpus", "4"]
    vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
    vb.customize ["modifyvm", :id, "--audio", "none"]
    vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
    vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
  end
end

/etc/my.cnf.d/server.cnf:

[mysqld]
user=mysql
datadir=/vagrant/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
default-storage-engine=innodb

tmpdir = /tmp

character-set-server = utf8
init-connect="SET NAMES utf8"

expire_logs_days=2
skip-external-locking

key_buffer_size = 32M
max_allowed_packet = 32M
table_open_cache = 8192
table_definition_cache = 8192
sort_buffer_size = 16M
net_buffer_length = 16K
read_buffer_size = 8M
read_rnd_buffer_size = 8M
thread_cache_size = 128
thread_concurrency = 16

query_cache_size = 1024M
query_cache_limit = 2M
join_buffer_size = 32M

max_connections = 1024
max_connect_errors = 1024

connect_timeout=5

innodb_file_per_table
innodb_buffer_pool_size=2048M
innodb_read_io_threads=8
innodb_write_io_threads=8
innodb_lock_wait_timeout=5
innodb_flush_log_at_trx_commit=2
innodb_flush_method=O_DSYNC
innodb_log_file_size=64M
innodb_log_buffer_size=32M
innodb_log_files_in_group=2
innodb_thread_concurrency=16
innodb_open_files = 1000
innodb_sync_spin_loops=100

skip-name-resolve

log-error=/var/log/mariadb/mysqld.log

MariaDb त्रुटि लॉग:

2016-09-30 22:32:46 139758293125248 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2016-09-30 22:32:46 139758293125248 [Note] InnoDB: The InnoDB memory heap is disabled
2016-09-30 22:32:46 139758293125248 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-09-30 22:32:46 139758293125248 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2016-09-30 22:32:46 139758293125248 [Note] InnoDB: Compressed tables use zlib 1.2.7
2016-09-30 22:32:46 139758293125248 [Note] InnoDB: Using Linux native AIO
2016-09-30 22:32:46 139758293125248 [Note] InnoDB: Using SSE crc32 instructions
2016-09-30 22:32:46 139758293125248 [Note] InnoDB: Initializing buffer pool, size = 2.0G
2016-09-30 22:32:46 139758293125248 [Note] InnoDB: Completed initialization of buffer pool
2016-09-30 22:32:46 139758293125248 [Note] InnoDB: Highest supported file format is Barracuda.
2016-09-30 22:32:46 139758293125248 [Note] InnoDB: 128 rollback segment(s) are active.
2016-09-30 22:32:46 139758293125248 [Note] InnoDB: Waiting for purge to start
2016-09-30 22:32:46 139758293125248 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.31-77.0 started; log sequence number 1600799
2016-09-30 22:32:46 139754263774976 [Note] InnoDB: Dumping buffer pool(s) not yet started
2016-09-30 22:32:46 139758293125248 [Note] Plugin 'FEEDBACK' is disabled.
2016-09-30 22:32:46 139758293125248 [ERROR] Can't init tc log
2016-09-30 22:32:46 139758293125248 [ERROR] Aborting

1
क्या आपके पास लॉग के साथ विभाजन पर पर्याप्त जगह है? क्या आप लॉग फ़ाइल हटा सकते हैं और पुनः आरंभ कर सकते हैं?
स्टोलग ऑक्ट

@ स्टोल हाय स्टोलेग, उत्तर के लिए धन्यवाद। विभाजन पर बहुत सारी खाली जगह है। मैंने फ़ाइल को हटाने की कोशिश की, पुनः आरंभ और मारियाडब इसे बनाता है और शुरू नहीं करता है
सैम इविचुक

क्या मारिया द्वारा उपयोग किया गया खाता, READफ़ोल्डर को अनुमति देने के लिए है? एक मौका हो सकता है कि यह राइट के साथ फाइल बना सकता है, लेकिन कोई रीड अनुमति नहीं है। जैसा कि मारिया अपने खाते में करती है, वैसा ही ऑपरेशन करने की कोशिश करें। हो सकता है कि यह फ़ाइल को खुला और लॉक न रख सके?
स्टोलग ऑक्ट

जवाबों:


15

वाह, मैं इसे मिल गया! अभी के लिए, कम से कम। स्रोत के माध्यम से खुदाई करने से पता चलता है कि mmap()कॉल के साथ कुछ करना पड़ सकता है , और लो और निहारना - वर्चुअलबॉक्स का उस क्षेत्र में एक बग है । सौभाग्य से वही स्रोत एक वर्कअराउंड में संकेत देता है - log_bin विकल्प । इसे सक्षम करें (या तो कमांड लाइन से --log_binया कॉन्फिग फ़ाइल के रूप में log_bin=ON) और चीजें फिर से काम करना शुरू करें!

अद्यतन करें

वे कह रहे हैं कि उन्होंने इसे VirtualBox 6.0.6 में तय किया है!


बहुत बहुत धन्यवाद! यह tc.logएक विंडोज़ 10 होस्ट पर वर्चुअलबॉक्स का उपयोग करके मेरी त्रुटि को ठीक करता है।
रिकी बॉयस

ऐसा लगता है कि मेरे लिए भी विंडोज 10 होम, डॉकर टूलबॉक्स 18.03 की महत्वपूर्ण प्रगति हुई है।
rfay

22

मैंने tc.log फ़ाइल को / var / lib / mysql में हटा दिया है। जब मैंने फिर से mysql शुरू किया, तो इसने एक नया tlog बनाया और शुरू किया।

sudo rm -f /var/lib/mysql/tc.log

जबकि यह कुछ असुरक्षित लगता है कि यह मेरे मामले में काम करता है!
पीटर

2
यह काम किया है, लेकिन यह उपयोग करने के लिए सुरक्षित है:sudo mv /var/lib/mysql/tc.log /var/lib/mysql/tc_bkp.log
पेड्रो लोबिटो

9

आप निकाल सकते हैं tc.log डेटा निर्देशिका में और mysql-bin.index से पुरानी प्रविष्टियों को हटा सकते हैं (यह एक पाठ फ़ाइल है, साथ ही बाइनरी लॉग्स की सूची)। यदि यह एक विकास बॉक्स है, तो आप इसके मनोरंजन को मजबूर करने के लिए सूचकांक फ़ाइल (mysql-bin.index) को हटा सकते हैं।

इसके अलावा यह यूजर आईडी mysqlऔर शेयर्ड फोल्डर आईडी के मालिक के बीच यूजर आईडी से संबंधित हो सकता है , ऐसा करने के लिए यहां एक स्निपेट है।


इस मुद्दे के कारण के बारे में उत्सुक , हालांकि, मैं कैसे बच सकता हूं? धन्यवाद
3zzy

@ 3zzy - मेरा जवाब पढ़ें।
विलेक्स- 8

@ 3zzy मैंने अभी तक बग को पुन: पेश नहीं किया है।
3manuek

यह वास्तव में मुठभेड़ के लिए एक अजीब मुद्दा है। क्या वास्तव में इस फ़ाइल में संग्रहीत है? मैं इस समस्या को ठीक करने के लिए इतनी जल्दबाजी में था कि मैं वहां जो था उसे देखना भूल गया। मैं और अधिक विवरण प्रदान करने में सक्षम हो सकता हूं।
MageProspero

मुझे संदेह है कि "डिस्क स्थान से बाहर" त्रुटि ने मेरे tlog को आज दूषित कर दिया है।
jchook

1

यदि आप सिर्फ mysql / mariadb को फिर से प्राप्त करना चाहते हैं और अपना डेटा (एक खराब वातावरण में) खोने का मन नहीं करते हैं , तो यह वही है जो मैंने किया था

हटाएं: ib_logfile1 ib_logfile0 aria_log_control aria_log.00000001 tc.log ib_data1

सर्वर शुरू करें

स्कीमा हटाएं (यदि इसमें फ़ाइलें हैं, तो स्कीमा के फ़ोल्डर में सीडी, सब कुछ हटा दें)

मैंने तब एक पुराने डंप से डेटाबेस को पुनः प्राप्त किया जो मेरे पास था।

मैंने तब मारीदब शुरू किया, और यह ठीक है। हटाई गई फ़ाइलें पुनः प्राप्त हुईं। ** फिर यह केवल देव के लिए है। आप शायद अपना db स्थापित कर सकते हैं **


0

जब मैंने डेटाबेस डेटा फ़ोल्डर को कॉपी करने की कोशिश की तो मुझे इस समस्या का सामना करना पड़ा। इसलिए मैंने सभी लॉग फ़ाइलों को हटाने के लिए डेटा फ़ोल्डर में बदल दिया और निम्नलिखित कमांड को निष्पादित किया:

rm -rf *log*

फिर मैंने डॉकटर का पुनर्निर्माण किया और मुद्दे को सुलझाया गया।


0

मैंने tlog को हटाकर इस त्रुटि को भी हल किया। XAMPP के साथ tc.log फ़ाइल XAMPP/xamppfiles/var/mysqlफ़ोल्डर में है - मेरे मैक पर इसकी स्थित है: /Applications/XAMPP/xamppfiles/var/mysql/tc.log


0

मारियाडीबी के आधिकारिक डॉकटर कंटेनर में मेरे पास यह मुद्दा था। लॉग फ़ाइल को हटाने के रूप में अन्य उत्तरों की पेशकश ने मुझे मदद नहीं की। हालाँकि, मेरा मुद्दा mmapस्वीकृत उत्तर के सुझाव से संबंधित था ।

मुझे अपने परिदृश्य के लिए इसे ठीक करने के लिए विभिन्न समाधान मिले

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