Пора заняться установкой MySQL-сервера, поскольку много чего будем хранить именно в этой базе данных.
Список необходимых опций сборки добавим в /etc/make.conf:
# Путь к коллекции портов # Oпции для сборки клиента # Кодировка клиента по умолчанию. # Коллэйшн или сравнение. # В общем, если эта опция действительно хоть что-то .endif # Oпции для сборки сервера # Кодировка сервера по умолчанию. # Какие кодировки компилить еще. # Кодировка коллэйшн. # Вкомпилить ли SSL. Есть смысл, если к MySQL-серверу # Если следующую опцию поставить в yes, то MySQL будет работать # Тоже че-то связано с многопоточностью сервера. # Как и с клиентом, типа "оптимизируемся". # Следущая опция - это для тех, кто использует кластера MySQL. .endif |
Приступаем непосредственно к инсталляции серверной части (клиентскую часть подтянет автоматически).
# cd /usr/ports/databases/mysql55-server # make install clean # rehash |
Добавляем в /etc/rc.conf строку о необходимости запуска MySQL-сервера:
# echo '# MySQL' >> /etc/rc.conf |
Запускаем сервер
# sh /usr/local/etc/rc.d/mysql-server start |
Меняем пароль для пользователя root в MySQL (хотя, обычно, завожу пользователя с полными привилегиями, а запись пользователя root удаляю полностью):
# mysqladmin -u root password new_passwd_here |
Теперь следует отредактировать конфигурационный файл mysql, который называется my.cnf. Положить его можно в любую из этих папок: /var/db/mysql/, /etc/, /usr/local/etc/. MySQL при запуске проверит его наличие во всех этих каталогах. Если конфигурациооный файл отсутствует – можно скопировать доступный пример и при необходимости отредактировать его (доступны примеры для нагруженного сервера, для сервера со средней нагрузкой и для ненагруженного сервера)
# cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf |
Для решения проблем с кодировкой кирилицы, добавим в секцию [client]:
default-character-set=cp1251 |
И, соответственно, в секцию [mysqld]:
character-set-server = cp1251 collation-server = cp1251_general_ci init-connect="SET NAMES cp1251" skip-character-set-client-handshake skip-name-resolve |
Также, для удобства, можете изменить параметры логгирования. Для этого в секцию [mysqld] файла /var/db/mysql/my.cnf добавляем строку log=/var/log/mysql.log
Также необходимо создать сам файл логов:
# touch /var/log/mysql.log |
Перегружаем MySQL для того, чтобы новые настройки вступили в силу:
# sh /usr/local/etc/rc.d/mysql-server restart |
Кстати... Если уж возьметесь писать логи MySQL - ОБЯЗАТЕЛЬНО настройте ротацию логов, а не то лог-файл очень скоро разрастется до неимоверных размеров (вплоть до того, что не останется свободного места на разделе. Например, будем архивировать лог раз в неделю. Для этого в /etc/newsyslog.conf необходимо добавить следующую строку:
/var/log/mysql.log mysql:mysql 600 2 * $W6D0 JB /var/db/mysql/hostname.pid |
Обратите внимание: pid-файл будет уникальный (зависит от от имени сервера).
Дальше создадим пользователя, с правами суперпользователя в БД MySQL:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'user_pass' WITH GRANT OPTION; |
Теперь еще осталось удалить остальных пользователей, которых mysql создает по-умолчанию.
# mysql -u username -p Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> USE mysql; Database changed mysql> quit |
Базовая настройка MySQL-сервера завершена.
Последние комментарии
21 неделя 6 дней назад
46 недель 1 день назад
2 года 46 недель назад
3 года 16 недель назад
3 года 39 недель назад
4 года 3 недели назад
4 года 3 недели назад
4 года 6 недель назад
4 года 18 недель назад
4 года 22 недели назад