Default Green Orange
Gemini_13's Blog
Блокнот полезных вещей
Home
    • Карта сайта
    • Обо мне
RSS

Установка MariaDB 5.5 на FreeBSD 10

FreeBSD, MySQL, Настройка сервера Add comments

Установка и настройка простого веб-сервера не сложная, но ради заметки запишу сюда.
Заметка по установке Nginx уже есть — Ставим Nginx и настраиваем виртуальные хосты на FreeBSD.

Первым делом обновим порты и перейдем в них:

# portsnap fetch update
# cd /usr/ports/

MariaDB 5.5

Посмотрим какие есть версии MariaDB:

# make search name=mariadb

Внизу я нашел подходящую мне версию mariadb55-server-5.5.35.

# /usr/ports/databases/mariadb55-server && make install clean

Я хочу, чтобы файлы марии лежали в /home/db/:

# mkdir /home/db
# chown -R mysql:mysql /home/db

Создадим базы и запускаем:

# cd /usr/local/
# ./bin/mysql_install_db --datadir=/home/db/

Подправим скрипт запуска:

# ee /usr/local/etc/rc.d/mysql-server

Находим строку:

: ${mysql_dbdir="/var/db/mysql"}

Заменяем ее на эту:

: ${mysql_dbdir="/home/db"}

Настраиваем под себя:

# ee /usr/local/etc/my.cnf

У меня получился такой вот конфиг, но не факт, что он правильный и тем более не факт, что он подойдет вам.

# The following options will be passed to all MariaDB clients
[client]
#password       = your_password
port            = 3306
socket          = /tmp/mysql.sock

# The MariaDB server
[mysqld]
user                    = mysql
port                    = 3306
socket                  = /tmp/mysql.sock
key_buffer_size         = 256M
max_allowed_packet      = 16M
table_open_cache        = 256
sort_buffer_size        = 4M
read_buffer_size        = 1M
read_rnd_buffer_size    = 4M
myisam_sort_buffer_size = 256M
thread_cache_size       = 128
query_cache_size        = 53M
max_connections         = 100
connect_timeout         = 5
wait_timeout            = 600
bulk_insert_buffer_size = 16M
tmp_table_size          = 32M
max_heap_table_size     = 32M
myisam_recover          = BACKUP
skip-external-locking

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address          = 127.0.0.1

# Try number of CPU's*2 for thread_concurrency
thread_concurrency      = 4

# Point the following paths to different dedicated disks
tmpdir                  = /tmp/

# Replication Master Server (default)
# binary logging is required for replication
log-bin                 = mysql-bin

# binary logging format - mixed recommended
binlog_format           = mixed

# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
general_log_file        = /var/log/mysql/mysql.log
general_log             = 1

# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
# we do want to know about network errors and such
log_warnings            = 2

# Enable the slow query log to see queries with especially long duration
#slow_query_log[={0|1}]
slow_query_log_file     = /var/log/mysql/mariadb-slow.log
long_query_time = 10
#log_slow_rate_limit    = 1000
log_slow_verbosity      = query_plan
#log-queries-not-using-indexes
#log_slow_admin_statements

# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
#server-id              = 1

# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir    = /home/db
#innodb_data_file_path  = ibdata1:10M:autoextend
innodb_buffer_pool_size = 256M
#innodb_log_file_size   = 64M
innodb_log_buffer_size  = 8M
innodb_flush_method     = O_DIRECT
innodb_file_per_table   = 1
innodb_open_files       = 400
innodb_io_capacity      = 400
innodb_lock_wait_timeout = 50
innodb_log_group_home_dir = /home/db
innodb_flush_log_at_trx_commit = 2
innodb_additional_mem_pool_size = 24M

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

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

[mysqlhotcopy]
interactive-timeout

Перезапускаем:

# /usr/local/etc/rc.d/mysql-server restart

Указываем пароль для root:

# mysqladmin -u root password 'пароль'

Заходим в БД с новым паролем:

# mysql -u root -p mysql

Удаляем всех юзеров, кроме root и выходим:

MariaDB [mysql]> DELETE FROM user WHERE user != 'root';
Query OK, 2 rows affected (0.00 sec)

MariaDB [mysql]> exit;
Bye

PHP 5.5

Поскольку я хочу себе именно PHP 5.5, то буду искать именно её:

# whereis php55
php55: /usr/ports/lang/php55
# cd /usr/ports/lang/php55 && make install clean

Отмечаем FPM.
Теперь поставим расширения для PHP 5.5:

# whereis php55-extensions
php55-extensions: /usr/ports/lang/php55-extensions
# cd /usr/ports/lang/php55-extensions && make install clean

Я выбрал для себя CTYPE, CURL, DOM, FILEINFO, FTP, GD, HASH, ICONV, JSON, MBSTRING, MCRYPT, MYSQL, MYSQLI, OPCACHE, PDO, PDO_MYSQL, PDO_SQLITE, POSIX, SESSION, SIMPLEXML, SOCKETS, SQLITE3, TIDY, TOKENIZER, XML, XMLREADER и XMLWRITER.
Далее настраиваем под себя:

# ee /usr/local/etc/php/extensions.ini
# ee /usr/local/etc/php-fpm.conf
# ee /usr/local/etc/php.ini

Автозапуск

Для автозапуска нужно дописать в файл /etc/rc.conf несколько строк:

mysql_enable="YES"
php_fpm_enable="YES"

Рестарт

На всякий случай рестартанем службы:

# /usr/local/etc/rc.d/mysql-server restart
# /usr/local/etc/rc.d/php-fpm restart
# /usr/local/etc/rc.d/nginx restart

Вроде закончили. Успехов! 🙂


27 апреля, 2014  
Tags: fpm, freebsd, mariadb, nginx, php-extensions, php-fpm

2 комментария to “Установка MariaDB 5.5 на FreeBSD 10”

  1. Дмитрий
    1 ноября, 2014 at 9:49 пп

    «Уставнока» — в первом слове ошибка.
    Спасибо за пост. Лень руками всё это было собирать 🙂


  2. Gemini_13
    9 ноября, 2014 at 3:08 пп

    спасибо 🙂


Leave a Reply

  • Рубрики

    • FreeBSD (20)
    • Linux (46)
    • MySQL (11)
    • Windows (14)
    • Железо (3)
    • Мои моды к TorrentPier II (16)
    • Настройка сервера (49)
    • Разное (33)
    • Скрипты (30)
  • Свежие записи

    • Поля форм на Yii2: textInput(), passwordInput() и hiddenInput()
    • Поля форм на Yii2: CheckboxList()
    • SpeedTest датацентров Digital Ocean
    • Патчим Gearman на Debian
    • nginx + Apache 2.4 и REMOTE_ADDR (решение проблемы)
    • Создание и подключение swap-файла в Debian
    • Запуск PhpStorm 9 x64 на Windows
    • Рекурсивная замена прав доступа для папок и файлов в Linux
    • VirtualBox 5 + phpVirtualBox на Debian 8.2 (jessie)
    • Обработка сессий PHP с помощью Redis + phpredis на Debian 7.8
  • Ссылки

    • My GitHub
  • Архивы

    • Июнь 2016 (2)
    • Март 2016 (2)
    • Январь 2016 (3)
    • Ноябрь 2015 (2)
    • Август 2015 (1)
    • Февраль 2015 (1)
    • Январь 2015 (7)
    • Октябрь 2014 (1)
    • Июнь 2014 (1)
    • Май 2014 (1)
    • Апрель 2014 (7)
    • Февраль 2014 (9)
    • Январь 2014 (5)
    • Декабрь 2013 (7)
    • Ноябрь 2013 (1)
    • Октябрь 2013 (3)
    • Август 2013 (4)
    • Июль 2013 (4)
    • Июнь 2013 (3)
    • Апрель 2013 (2)
    • Март 2013 (2)
    • Февраль 2013 (6)
    • Январь 2013 (2)
    • Декабрь 2012 (1)
    • Ноябрь 2012 (2)
    • Октябрь 2012 (7)
    • Сентябрь 2012 (22)
Все права защищены © 2014 Gemini_13's Blog
G13.org.ua