Данная статья будет посвящена настройке Mysql для обычной работы.
Изменять конфигурационный файл my.cnf который находится по разному пути в зависимости от операционной системы.
Данные параметры носят рекомендательный характер и подходят большинству начинающих-средних сетей (100-2000) абонентов. В других случаях следует более детально подходить к параметрам оптимизации Базы данных и использовать специализированную литературу по настройке базы данных Mysql.
/etc/mysql/my.cnf - в Gentoo
/etc/my.cnf - в Centos
/etc/mysql/my.cnf - в Ubuntu/Debian
/usr/local/etc/my.cnf - в FreeBSD
Кодировка koi8r не обязательна, укажите ту что считаете нужной.
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysql]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=koi8r
[mysqladmin]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=koi8r
[mysqlcheck]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=koi8r
[mysqldump]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=koi8r
[mysqlimport]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=koi8r
[mysqlshow]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=koi8r
[myisamchk]
character-sets-dir=/usr/share/mysql/charsets
[myisampack]
character-sets-dir=/usr/share/mysql/charsets
[mysqld_safe]
err-log = /var/log/mysql/mysql.err
[mysqld]
character-set-server = koi8r
user = mysql
port = 3306
#ниже включается бинарный лог, раскомментируйте следующие 2 строки чтобы включить
#server-id=1
#log-bin=mysqld-bin
socket = /var/run/mysqld/mysqld.sock
pid-file = /var/run/mysqld/mysqld.pid
log-error = /var/log/mysql/mysql.err
basedir = /usr
datadir = /var/lib/mysql
skip-external-locking
tmpdir = /tmp/
key_buffer_size = 384M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
thread_concurrency = 8
skip-name-resolve
innodb_buffer_pool_size = 32M
innodb_additional_mem_pool_size = 8M
innodb_data_home_dir = /var/lib/mysql/
innodb_log_group_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_file_size = 32M
innodb_log_buffer_size = 8M
innodb_log_files_in_group = 2
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 70
max_connections = 1024
[mysqldump]
quick
max_allowed_packet = 16M
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
[client]
port = 3306
socket=/var/lib/mysql/mysql.sock
[mysql]
loose-local-infile=1
[mysqld_safe]
err-log = /var/log/mysql/mysql.err
[mysqld]
user = mysql
port = 3306
socket = /var/lib/mysql/mysql.sock
pid-file = /var/run/mysqld/mysqld.pid
log-error = /var/log/mysql/mysql.err
basedir = /usr
datadir = /var/lib/mysql
skip-external-locking
symbolic-links=0
key_buffer_size = 384M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
thread_concurrency = 8
skip-name-resolve
language = /usr/share/mysql/russian
loose-local-infile=1
#ниже включается бинарный лог, раскомментируйте следующие 2 строки чтобы включить
#server-id=1
#log-bin=mysqld-bin
tmpdir = /tmp/
innodb_buffer_pool_size = 32M
innodb_additional_mem_pool_size = 16M
innodb_data_home_dir = /var/lib/mysql/
innodb_log_group_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_file_size = 32M
innodb_log_buffer_size = 8M
innodb_log_files_in_group = 2
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 70
max_connections = 1024
[mysqldump]
quick
max_allowed_packet = 16M
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Файл конфигурации может быть в разных местах
/etc/my.cnf
/var/db/mysql/my.cnf
/usr/local/etc/my.cnf
Мы будем использовать пусть
/var/db/mysql/my.cnf
Пример конфигурации
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
# Если Вы используете InnoDB, то закомментируйте эту опцию
#skip-innodb
# С этой опцией MySQL не будет инициализировать библиотеку Berkeley DB,
# что позволит сэкономить большое количество памяти.
#skip-bdb
# Файл должен существовать, с соответствующими правами на него:
# touch /var/log/mysql.log
# chown mysql:wheel /var/log/mysql.log
# chmod 640 /var/log/mysql.log
general_log_file = /var/log/mysql.log
key_buffer_size = 384
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
thread_concurrency = 8
skip-name-resolve
innodb_buffer_pool_size = 32M
innodb_additional_mem_pool_size = 8M
innodb_data_home_dir =/var/db/mysql/
innodb_log_group_home_dir = /var/db/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_file_size = 32M
innodb_log_buffer_size = 8M
innodb_log_files_in_group = 2
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 70
max_connections = 1024
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
# Отключает автоматическое рехеширование. rehash следует использовать
# для получения хеша таблиц и полей. Это обеспечивает более
# быстрый старт mysql.
no-auto-rehash
# Опция, которую рекомендуется раскомментировать начинающим :)
# Разрешает выполнять только операции UPDATE и DELETE, используя ключи.
#safe-updates
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
в секцию
[mysqld]
key_buffer_size = 384
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
thread_concurrency = 8
skip-name-resolve
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M