Archive

Posts Tagged ‘fedora 17’

innodb_buffer_pool_size ERROR in Fedora 17

Deməli dünən gecə
innodb_buffer_pool_size -ı artırmaq istədikdə MySQL 5.5 start olunmadı və eləcə qaldı…Yani heç bir ERROR mesajı filan da verilmədiyindən biraz çətinlik yaratdı.
Məndə i3-350M processor və 3GB memory var. 32 bit-lik Fedora 17 istifadə edirəm. Zənnimcə 3 RAM üçün 32 bitlik OS yaxşı seçim olmalı idi.
Documentation-da deyilir ki, innodb_buffer_pool_size-ı memory-nin 80%-nə qədər artırmaq mümkündü. Bəlkə də bunu 64 bitlik sistemlər üçün deyiblər çünki x32-də bu % doğru deyil.
Mən də documentation-a qulaq asdım… və müəyyən elədim ki Fedora 17 mənim memory-mi tamamilə doğru görür:

[root@sh ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          2950       1441       1508          0         65        622
-/+ buffers/cache:        754       2195
Swap:         4991          0       4991

Çünki məsələn 6 GB-lıq memory ilə x32 istifadə etdikdə max 3.5-ni görəcək ən azından belə şayələr var.

Həmçinin system manitor-da da hər şey yolunda görünür.

Bəli keçək işə..
2.9-un 80%-i=2.32. Yəni burdan belə nəticə çıxarmaq olar ki, innodb_buffer_pool_size=2.32GB verə bilərəm. Amma mən o qədər yox ilk öncə 1.9 GB verdim. Bu çox asan bir şeydir. my.cnf faylında [mysqld] kataloqunun altına innodb_buffer_pool_size=2040109465 (byte-la yazıram. 1.9 gb=2040109465 byte) yazırıq.
my.cnf default olaraq yerləşir /etc/my.cnf
Sizin my.cnf faylınızın harda yerləşdiyini öyrənmək üçün:

[root@sh ~]# mysql --verbose --help
mysql  Ver 14.14 Distrib 5.5.28, for Linux (i686) using readline 5.1
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
.
.
.
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 

my.cnf-i Yuxarıdakı directory-lərdən birində tapa biləcəksiz.

Bəli innodb_buffer_pool_size=2040109465-i eyd etdikdən sonra server-imizi stop\start edirik. Və dəhşətli mənzərə:
Terminaldan start edərkən belə:

[root@sh ~]# systemctl start mysqld.service
Job failed. See system journal and 'systemctl status' for details.

MySQL Workbench-dən start edərkən isə
Checked server status: Server is stopped.

Yəni heç bir hadisə baş vermir.Çox pis təsir edir adama 😛

Dərhal log-lara nəzər salmaq lazımdı təbii ki. mysqld.log yerləşir /var/log/mysqld.log
Log-da yazılan hər şeyi aydın edir:

121201 12:13:07 InnoDB: Fatal error: cannot allocate memory for the buffer pool

Bəli indi isə 1.8 GB verək. innodb_buffer_pool_size=1932735283 (yenə byte-la). Və yenə də eyni ERROR

Və ən nəhayət 1.7 GB verək. innodb_buffer_pool_size=1825361100

Nəhayət ki üzümüz güldü 😀

İndi isə ümumiləşdirmə aparaq.
2.9-un 80%-i=2.32 etdiyi halda bizim i3-350 M 3 GB-lıq x32 Fedora 17 sistemimiz İnnoDB buffer pool üçün yalnızca 1.7gb ayıra bildi.
1.7 isə 2.9-un 58.62%-dir. Deməli ki bu cür mənim sistemimə oxşar sistemlər üçün 80% yox ən çoxu 58% hesablamaq lazımdır. Əks halda buna oxşar crash-lar qaçınılmaz olacaq

Təşəkkürlər 🙂

MySQL-in Fedora 17-yə qurulması

Dünən Windows 7 yerinə Fedora 17 yazdım. Çox xoşuma gəldi heyratamizdir.
Və dərhal da mənə lazım olanları yazmağa çalışdım. Bu yazı MySQL server 5.5.28-in Fedora 17-yə qurulması haqqındadır. Komandaları ardıcıl daxil edərək buna çox asand nail olunur, onsuz da mən də heç başa düşmürəm nə komandalarıdır:)

*)
ilk öncə root olaraq qoşuluruq

su -

*)
daha sonra Remi Repository-ni install edirik


rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm 

rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/remi-release-17.rpm

*)
Daha sonra MySQL-in hansı versiyalarının mövcud olduğuna baxırıq.

yum --enablerepo=remi list mysql mysql-server

*)
Və install edirik.

yum --enablerepo=remi install mysql mysql-server

*)

Complete!

Gördükdən sonra, MySQL-i start edirik:

systemctl start mysqld.service

və dərhal da root user-in parolunu dəyişirik.

mysqladmin -u root password [sizin_parolunuz]
 
## Misal üçün bax belə ##
mysqladmin -u root password zzzzzz

Yoxlamaq üçün connect oluruq.

[shahriyar@sh ~]$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.5.28 MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

Hazırdı… Təşəkkürlər 🙂

Kateqoriyalar: Linux Etiketlər: , ,