Настройка Mysql

Данная статья будет посвящена настройке 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
  • billing/configuration/mysql.txt
  • Последние изменения: 8 лет назад
  • — Алексей Ларюшкин