Mysql server на FreeBSD

Очень часто в различных проэктах используется БД mysql. Я хочу показать как я инсталлирую ее на примере своего домашнего сервера под FreeBSD 9.2
Установку я делал из портов:

root@gw:~# cd /usr/ports/databases/mysql56-server
root@gw:~# make install clean

Автозапуск при старте системы нужно прописать в rc.conf

root@gw:~# echo 'mysql_enable="YES"' >> /etc/rc.conf

Основной конфигурационный файл mysql-server в FreeBSD находится тут /var/db/mysql/my.cnf
Я сгенерил свой конфиг с помощью online конфигуратора от percona (ссылка есть в шапке конфига). В конфигураторе вводил что у меня 2GB RAM и честный сервер (не виртуалка). А также указал что это будет Slave-сервер, поэтому ID = 11. Вот что получилось в итоге:

# Generated by Percona Wizard (http://tools.percona.com/)
# Configuration name home generated for admin@somedomain.net.ua

[mysql]

# CLIENT #
port                           = 3306
socket                         = /tmp/mysql.sock

[mysqld]

# GENERAL #
user                           = mysql
default-storage-engine         = InnoDB
socket                         = /tmp/mysql.sock
pid-file                       = /var/db/mysql/mysql.pid

# MyISAM #
key-buffer-size                = 32M
myisam-recover                 = FORCE,BACKUP

# SAFETY #
max-allowed-packet             = 16M
max-connect-errors             = 1000000

# DATA STORAGE #
datadir                        = /var/db/mysql/

# BINARY LOGGING #
log-bin                        = /var/db/mysql/mysql-bin
binlog_format                  = mixed
expire-logs-days               = 7
sync-binlog                    = 1

# REPLICATION #
server-id                      = 11
log-slave-updates              = 1
relay-log                      = /var/db/mysql/relay-bin
slave-net-timeout              = 60
sync-master-info               = 1
sync-relay-log                 = 1
sync-relay-log-info            = 1

# CACHES AND LIMITS #
tmp-table-size                 = 32M
max-heap-table-size            = 32M
query-cache-type               = 0
query-cache-size               = 0
max-connections                = 500
thread-cache-size              = 50
open-files-limit               = 65535
table-definition-cache         = 1024
table-open-cache               = 2048

# INNODB #
innodb-flush-method            = O_DIRECT
innodb-log-files-in-group      = 2
innodb-log-file-size           = 128M
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table          = 1
innodb-buffer-pool-size        = 1024M

# LOGGING #
log-error                      = /var/db/mysql/mysql-error.log
log-queries-not-using-indexes  = 1
slow-query-log                 = 1
slow-query-log-file            = /var/db/mysql/mysql-slow.log

Итак, конфиг есть — запускаем mysql-server так:

root@gw:~# service mysql-server start

Убедиться что он работает можно по логам — /var/db/mysql/mysql-error.log или командой:

root@gw:~# sockstat |grep mysql
mysql    mysqld     74112 16 tcp4 6 *:3306                *:*
mysql    mysqld     74112 18 stream /tmp/mysql.sock
root@gw:~#
  1. Комментов пока нет

  1. Март 27th, 2014

Why ask?