innodb_log_file_size değişikliği

InnoDb Log File Size Değiştirme

Bu işlem , Innodb de kritik olabilecek bir işlem , dolayısı ile once shutdown mode unun 1 olup olmadığına bakıyoruz , mysql e login olup sorgumuzu çalıştıralım.

mysql> show variables like ‘innodb_fast_shutdown%’;

+———————-+——-+
| Variable_name | Value |
+———————-+——-+
| innodb_fast_shutdown | 2 |
+———————-+——-+
1 row in set (0.00 sec)

Görüldüğü üzere değerimiz 2 , bunu sağlıklı işlem yapabilmek için 1 yapalım.

mysql> SET GLOBAL innodb_fast_shutdown=1;

Tekrar bir önceki komuut çalıştırırsak değerin 1 e döndüğünü görebiliriz.

Şimdi mysql i stop edelim.

[root@ayhanarda root]# service mysql stop

şimdi log dosyalarımızı silmeyelimde farklı bir yere atalım , ne olur ne olmaz.

[root@ayhanarda root]# cd /var/lib/mysql/
[root@ayhanarda mysql]# mv ib_logfile* /tmp/

şimdi my.cnf de ilgili değeri değiştirelim.

[root@ayhanarda mysql]# nano /etc/my.cnf

innodb_log_file_size = 750M
(bunu kendi yapınıza göre ayarlayın , ben 24 gb ram li üzerinde 2000 mysql veritabanı koşan sunucuda çalıştırıyorum , yapacağınız değeri bulmak için mysqltuner kullanmanız faydalı olabilir)

Şimdi mysql i start edelim.

[root@ayhanarda root]# service mysql start

şimdi mysql dizininde iken ls -al | grep ib_* derseniz 2 adet log dosyasının belirlediğiniz değere ayarlandığını görebilirsiniz ya da yine mysql sorgusu ile tüm innodb_log değerlerini görebilirsiniz.

[root@ayhanarda mysql]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 15108
Server version: 10.0.34-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

MariaDB [(none)]> show variables like ‘innodb_log%’;
+——————————-+———–+
| Variable_name | Value |
+——————————-+———–+
| innodb_log_arch_dir | ./ |
| innodb_log_arch_expire_sec | 0 |
| innodb_log_archive | OFF |
| innodb_log_block_size | 512 |
| innodb_log_buffer_size | 8388608 |
| innodb_log_checksum_algorithm | innodb |
| innodb_log_compressed_pages | ON |
| innodb_log_file_size | 786432000 |
| innodb_log_files_in_group | 2 |
| innodb_log_group_home_dir | ./ |
+——————————-+———–+
10 rows in set (0.00 sec)

Ayhan ARDA

MySQL – myisamchk: error: myisam_sort_buffer_size is too small hatası

Büyük boyutlu myisam tablolarınızı repair ederken başlıkta belirtilen hatayı alabilirsiniz. Sebebi myisam sort buffer size değerine takılmanızdır. Bunun için tablo repair işlemlerinizi aşağıdaki şekilde yapabilirsiniz.

root@ayhanarda [/var/lib/mysql/ayhan_testdb]# /etc/init.d/mysql stop
Shutting down MySQL… SUCCESS!
root@ayhanarda [/var/lib/mysql/ayhan_testdb]# myisamchk -r -q ayhan_posts.MYI –sort_buffer_size=3G
– check record delete-chain
– recovering (with sort) MyISAM-table ‘ayhan_posts.MYI’
Data records: 0
– Fixing index 1
– Fixing index 2
– Fixing index 3
– Fixing index 4
– Fixing index 5
– Fixing index 6
– Fixing index 7
Data records: 720336
root@ayhanarda [/var/lib/mysql/ayhan_testdb]# /etc/init.d/mysql start
Starting MySQL… SUCCESS!

Ayhan ARDA

Ayrıca; Mysql error : Can’t create new tempfile: ‘*.TMD file şeklinde bir hata alırsanız da aynı çözümü kullanabilirsiniz.