суббота, 23 марта 2013 г.

Типовая конфигурация сервера MySQL

Многие администраторы в своей работе используют шаблоны готовых конфигураций. Подобный подход вполне разумен, в этом случае сокращается время на развёртывание сервиса, уменьшается вероятность ошибок, не требуется постоянно помнить опции конфигурации. Всем кому интересен подобный подход предлагаю воспользоваться моими наработками оформленными в файле конфигурации MySQL.

В основе конфигурации лежит шаблон my-large.cnf и наработки взятые из блога Sergey Danielyan. Конфигурация для сервера MySQL  5.1 обладает следующими возможностями:
  • Транзакционным механизмом InnoDB
  • Кодировкой UTF-8
  • Ограничением на бинарные лог файлы по времени (2 суток) и по максимальному размеру (1Гб)
  • Ожиданием подключений только на адресе 127.0.0.1
В дистрибутиве CentOS 6.x сервер MySQL устанавливаем при помощи команды
$ sudo yum groupinstall "Сервер базы данных MySQL"
Листинг файла конфигурации /etc/my.cnf
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set = utf8

[mysqld]
port = 3306
bind-address = 127.0.0.1
socket = /var/lib/mysql/mysql.sock
init_connect='SET collation_connection = utf8_unicode_ci'
character-set-server = utf8
collation-server = utf8_unicode_ci

skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8

log-bin = mysql-bin
expire_logs_days = 2
max_binlog_size = 1024M
binlog_format = mixed
log-error = /var/log/mysqld.log

server-id = 1

default-storage-engine = InnoDB
innodb_data_home_dir = /var/lib/mysql
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql
innodb_buffer_pool_size = 256M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 64M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout
Запускаем установленный MySQL сервер
$ sudo service mysqld start
Завершаем конфигурирование
$ sudo /usr/bin/mysql_secure_installation
При новой установке MySQL пароль на root пользователя отсутствует, поэтому просто нажимаем Enter и далее в конфигурации устанавливаем новый пароль. В большинстве вопросов которые будут задаваться в конфигурационном меню подходят ответы заданные по умолчанию.

Последним штрихом активируем запуск MySQL сервера при загрузке системы
$ sudo chkconfig mysqld on

Комментариев нет:

Отправить комментарий