بهینه سازی MySQL و فایل my.cnf در دایرکت ادمین

بهینه سازی MySQL و فایل my.cnf در دایرکت ادمین

بهینه سازی MySQL و فایل my.cnf در دایرکت ادمین :

از بزرگ ترین مشکلات مدیران سرور مجازی های مشترک لینوکس ، بهینه سازی MySQL از روش تنظیمات فایل my.conf میباشد.

اگر که این مقادیر به طور درست و حرفه ای ست شده باشند فشار MySQL به سرور مجازی به صورت قابل توجهی کاهش میابد و

همچنین سرعت لود صفحات هم بالا میرود.

بسیار خب برای بهینه سازی MySQL و فایل my.conf در دایرکت ادمین  مراحل زیر را دنیال کنید :

این آموزش برای توزیع های اصلی که شامل RedHEL و Debian based ها  میباشد

برای بهینه سازی my.nf در سرور مجازی های لینوکس CentOS  :

زمانی که  mysql (4 + 5)  را نصب میکنید به طور دیفالت شامل یک فایل my.cnf میباشد که اگر ار رم 2 گیگابایت به بالا استفاده کنید موجب

میشود MySQL با سرعت بالایی اجرا شود.

[su_code]

cp -f /usr/share/mysql/my-large.cnf /etc/my.cnf

[/su_code]

توجه داشته باشید که سخت افزار دارای فایلی به نام my-huge.cnf و یا my-medium.cnf میباشد که باید محتویات این فایل ها را بررسی کنید.

اولین نکته ای که باید به آن توجه داشته باشید این است که گزینه log-bin به طور دیفالت فعال میباشد که سریع از فضای دیسک

استفاده میکند، که ما به شما پیشنهاد میکنیم خط log-bin را در فایل /etc/my.cnf از حالت کامنت بودن خارج کنید.

دومین نکته این است که به فایل   /etc/my.cnf  دقت داشته باشید که اگر گزینه innodb_file_per_table=1  در این فایل موجود میباشد

مطمئن شوید که در فایل جدید این تنظیمات وجود داشته باشند.

اگر در فایل قدیمی شما این گزینه ها فعال نمیباشد، در فایل جدید هم نباید فعال باشند.

اگر فایل my.cnf جدید شامل تنظیمات متنوعی برای innodb_file_per_table باشد امکان آن که اطلاعات شما را از بین ببرد هست.

قبل از شروع کار مطمئن شوید که یک نسخه پشتیبان از فایل های .sql به طور کامل تهیه کرده باشید.

CentOS  و  MySQL 5.6 :

MySQL جدیدی که نصب کرده اید امکان دارد دارای فایل های my-*.cnf files نباشد.

و اما در این مقاله چند فایل از MySQL 5.5 میبینید که با MySQL 5.6 کار میکند که اضافه کردیم به عنوان مثال :

[su_code]

1 2 cp /etc/my.cnf /etc/my.cnf.old

wget -O /etc/my.cnf http://files.directadmin.com/services/all/mysql/my-huge-5.5.cnf

[/su_code]

MySQL 4.x :

اگر از mysql 4 استفاده میکنید، شما میتوانید از دستورات زیر در فایل  /etc/my.cnf  استفاده کنید :

[su_code]

vi /etc/my.cnf [ENTER]

[/su_code]

سپس با فشار دادن دکمه I وضعیت insert  را فعال کنید و بعد از آن past کنید :

[su_code]

[mysqld]
localinfile=0
skiplocking
query_cache_limit=1M
query_cache_size=32M
query_cache_type=1
max_connections=500
interactive_timeout=100
wait_timeout=100
connect_timeout=10
thread_cache_size=128
key_buffer=16M
join_buffer=1M
max_allowed_packet=16M
table_cache=1024
record_buffer=1M
sort_buffer_size=2M
read_buffer_size=2M
max_connect_errors=10
# Try number of CPU’s*2 for thread_concurrency
thread_concurrency=2
myisam_sort_buffer_size=64M
serverid=1
[safe_mysqld]
errlog=/var/log/mysqld.log
open_files_limit=8192
[mysqldump]
quick
max_allowed_packet=16M
[mysql]
noautorehash
#safe-updates
[isamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M
[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M
[mysqlhotcopy]
interactivetimeout

[/su_code]

بعد از وارد کردن دستورات بالا میتوانید برای بهینه سازی MySQL و فایل my.cnf در دایرکت ادمین از دکمه های Ctrl+C برای خارج شدن

از وضعیت insert استفاده کنید و برای خارج شدن از فایل  از دکمه های Shift+Z استفاده کنید .

حالا mysgld را دوباره راه اندازه کنید :

و در لینوکس redhat دستور زیر را وارد کنید :

[su_code]

/sbin/service mysqld restart

[/su_code]

سپس در  FreeBSD دستور زیر را وارد کنید :