HATA - 'innodb' işlevi zaten var


11

Bazı MyISAM tablolarını INNODB dönüştürmeye başlamak istiyorum. Ubuntu 14.04 Server'ı MySQL 5.6 (apt-get 5.5'ten yükseltildi), 4 çekirdekli / 8 iş parçacığında 32G ram ile çalışıyor. Başlangıçta sorun vardı ...

could not open single-table tablespace file .\mysql\innodb_index_stats.ibd after restart of MySQL

ve

Error: Table "mysql"."innodb_table_stats" not found.

Rolando'nun gönderdiği tavsiyelere uydum ve DB artık çökmüyor veya büyük bir error.log oluşturmuyor. (yukarıdaki sorunlar giderildi, sadece önde gelen olayları açıklar)

Şimdi bir şey INNODB dönüştürmeden önce aşağıdaki hataları endişe ediyorum. Federe okuduğum şeyden göz ardı edilebilir, aşağıdaki ikinci satır (bu yazının konusu da) beni ilgilendiriyor

2014-05-19 01:50:57 30950 [Note] Plugin 'FEDERATED' is disabled.
2014-05-19 01:50:57 30950 [ERROR] Function 'innodb' already exists
2014-05-19 01:50:57 30950 [Warning] Couldn't load plugin named 'innodb' with soname 'ha_innodb.so'.
2014-05-19 01:50:57 30950 [ERROR] Function 'federated' already exists
2014-05-19 01:50:57 30950 [Warning] Couldn't load plugin named 'federated' with soname 'ha_federated.so'.
2014-05-19 01:50:57 30950 [ERROR] Function 'blackhole' already exists
2014-05-19 01:50:57 30950 [Warning] Couldn't load plugin named 'blackhole' with soname 'ha_blackhole.so'.
2014-05-19 01:50:57 30950 [ERROR] Function 'archive' already exists
2014-05-19 01:50:57 30950 [Warning] Couldn't load plugin named 'archive' with soname 'ha_archive.so'.

Rolando'nun gönderdiği tavsiyeden my.cnf'e aşağıdakileri ekledi

innodb_buffer_pool_size=4G
innodb_buffer_pool_instances=2
innodb_read_io_threads=12
innodb_write_io_threads=12
innodb_io_capacity=300
innodb_log_file_size=128M

INNODB ile ilgili başka bir şey olup olmadığından emin değildi. Ne bulabilirim dayalı da eklendi

innodb_flush_method            = O_DIRECT
innodb_log_files_in_group      = 2
innodb_flush_log_at_trx_commit = 1
innodb_file_per_table          = 1

Bu yardımcı olmadı. Bir "mevcut işlevi" ortadan kaldırmak için beklediğimden değil ... lol


Mysql_upgrade çalıştırdınız mı?
dwjv

@dwjv emin o yüzden ben koştu ve "MySQL bu yükleme zaten 5.6.17 yükseltildi" dedi. "[HATA] 'innodb' işlevi zaten aynı sorunda error.log
traildex

Yanıtlar:


12

Error.log dosyasına hata atan eklentiler özellikle my.cnf dosyasında belirtilmedi. Bu yüzden koştum ...

select * from mysql.plugin

MySQL 5.6.17 için mysql.plugin içinde aşağıdaki satırları sildim

innodb ha_innodb.so
federated ha_federated.so
blackhole ha_blackhole.so
archive ha_archive.so

Emin olmadığınız hiçbir şeyi silmeyin. Yukarıdaki benim için çalıştı ...

  • Federe kullanmıyorum (uzak veritabanlarının tablolarındaki verilere erişiyor)
  • INNODB 5.6'ya eklenmiştir, eklenti gerekmez
  • Blackhole kullanmıyorum (verileri kabul eder, ancak atar ve depolamaz)
  • Arşivi kullanmıyorum (çok küçük bir alanda çok sayıda veriyi dizin olmadan depolamak)

2
hangi eklentinin ne yaptığını listelemek için ekstra kredi almalısınız, teşekkürler!
n611x007

0

SORUN

mysql.innodb_table_statsMySQL 5.6 kurulumunun bir parçasıdır. mysql_upgrade bunları oluşturmaz. Neden ?

  • MySQL 5.6'yı sıfırdan yüklediğinizde, o dosya oluşturulur.
  • innodb_table_stats.ibdMySQL 5.5 mysql şemasında dosya yok
  • MySQL 5.5'in mysql_upgrade herhangi bir innodb sistem tablosunun farkında değil.
  • Aslında, .ibdMySQL 5.6 içinde mysql şemasında beş (5) dosya vardır.

ÇÖZÜM

Lütfen geçen yıl yazdığım bu yazıları nasıl yazacağımıza bakın

Bir şans ver !!!


Teşekkürler, daha önce gönderilen tavsiyenizle çözdüm. Benim endişe burada "[HATA] Fonksiyonu'nun 'innodb' zaten mevcut" dir error.log içinde
traildex

0

PCLinuxOs bu tür benzer hatalar var. Ben ne yaptım sadece dosyayı yeniden adlandırıldı /etc/my.cnfiçin /etc/my.cnf.bakve ben MySQL sunucusunu başlatmak başardı. Tam sebebini bilmiyorum ama benim için işe yaradı. Bu dosyadaki ayarlar çakışıyor olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.