MySQL veritabanlarındaki “The table ‘XXX’ is full” hatası

26 Eyl by Ahmet Duruöz

MySQL veritabanlarındaki “The table ‘XXX’ is full” hatası

MySQL, NDB Cluster veritabanlarında , data memory dolduğunda tablolardaki tüm işlemlerde “The table ‘XXX’ is full” hatası oluşmaktadır. Bu hatanın çözümü için DataMemory ve IndexMemory parametrelerinin değeri arttırılıp, NDB management sunucusu üzerinden tüm node’lardaki servisleri kapatıp, “ndb_mgmd –reload” ile yeni konfigürasyon yüklendikten sonra ilgili servisler başlatılmalıdır.

MySQL hata log dosyasında aşağıdaki gibi hatalar görülmektedir.

2019-09-26 08:20:14 3395 [ERROR] /usr/sbin/mysqld: The table 'my_table' is full

Node’lardaki memory kullanımını aşağıdaki komut ile görüntüleyebilirsiniz.

[root@mysqlmgmt mysql-cluster]# ndb_mgm -e "ALL REPORT MEMORYUSAGE"
Connected to Management Server at: localhost:1186
Node 2: Data usage is 11%(125788 32K pages of total 1048576)
Node 2: Index usage is 8%(43601 8K pages of total 524320)
Node 3: Data usage is 11%(125789 32K pages of total 1048576)
Node 3: Index usage is 8%(43601 8K pages of total 524320)

Mysql Cluster konfigürasyon dosyası /var/lib/mysql-cluster/config.ini şeklinde bir dosyadır. Bu dosya içerisindeki aşağıdaki parametreleri değiştirmek gerekmektedir.

DataMemory=8192M # Memory allocate for data storage
IndexMemory=1024M # Memory allocate for index storage

Sonrasında tüm node’lar kapatılıp, servisler başlatılmalıdır.

Kapatmak için:

[root@mysqlmgmt mysql-cluster]# ndb_mgm -e shutdown

Management Server servisini başlatmak için :

[root@mysqlmgmt mysql-cluster]# ndb_mgmd --reload -f /var/lib/mysql-cluster/config.ini

Sonrasında nodelardaki ndb ve mysql servisleri başlatılmalıdır.

 

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir