Для установки MySQL сервера нам сперва потребуется добавить опцию в /etc/make.conf. Эта опция заставит порт MySQL скомпилироваться с поддержкой всех возможных наборов символов, а не только с базовым латиницей.
% echo ‘WITH_XCHARSET=all’ » /etc/make.conf
После этого переходим в директорию порта и запускаем make install.
%cd /usr/ports/databases/mysql50-server
%make install
Настройка mysql
Мы немного перенастроим mysql, так чтоб он использовал бы базу данных находящуюся в /data/mysql
Для этого сперва нужно создать директорию /data/mysql и выставить на нее правильные разрешения.
%mkdir /data/mysql
%chown mysql:mysql /data/mysql
%chnod go-rwx /data/mysql
Автозапуск mysql
Эти настройки разрешат запуск mysql во время загрузки системы и укажут правильную директорию, где размещать файлы.
%echo ‘mysql_dbdir=»/data/mysql”’ >> /etc/rc.conf
%echo ‘mysql_enable=»YES»’ >> /etc/rc.conf
При первом запуске в директории /data/mysql будут созданы необходимые для работы сервера поддиректории и файлы.
Запуск и остановка mysql
Для запуска MySQL сервера стоит набрать команду:
/usr/local/etc/rc.d/mysql-server forcestart
Для оставиоки соотстветствешю:
/usr/local/etc/rc.d/mysql-server forcestop
Для рестарта сервера
/usr/local/etc/rc.d/mysql-server forcerestart
Как проверить, что mysqld запущен?
Для того, чтоб проверить, что mysqld нормально запустился вам следует запустить следующую команду и сравнить ее вывод с тем что получится у вас. Должны присутствовать оба процесса — и mysqld_safe и mysqld.
%ps -ax grep mysql
715 con- I 0:00.00 /bin/sh /usr/local/bin/mysqld_safe —defaults-ex
759 con- I 0:06.28 /usr/local/libexec/mysqld —defaults-extra-file=
%
mysqladmin ручное управление mysql
Вот короткий список команд, как управлять с командной строки работой mysqld.
mysqladmin proc — показывает список запросов, которые выполняются в данный момент SQL сервером, с текстом запроса, с его идентификатором, и время выполнения запроса.
mysqladmin kill id-процесса позволяет прекратить выполнение запроса с данным ID
mysqladmin password новый — пароль позволяет поменять пароль для текущего пользователя
mysqladmin create database — создание новой базы данных
mysqladmin drop database — полное удаление базы данных
mysqladmin shutdown — нормальная остановка mysql сервера
/usr/local/etc/rc.d/mysql-server start запуск mysql сервера.
Смена пароля для админа mysql
Пароль для администратора mysql можно поменять следующим образом, вместо asdasd впишите; ваш пароль.
%mysqladmin password asdasd
После этого, чтоб запустить команду mysqladmin нам придется либо запускать ее с аргументом -Р, либо прописать пароль в файл, как показано ниже.
Настройки клиента mysql
Для того, чтоб каждый раз не вводить пароль для соединения с mysql сервером, можно записать настройки в файл ~/.my.cnf.
Будьте внимательны с именем файла, оно начинается с точки!
Создайте файл ~/.my.cnf, откройте его в редакторе и запишите в него следующие строчки. Если такой файл уже существует и вы поменяли пароль пользователя, то вам нужно будет его отредактировать.
[client]
password=BAШ_ПAPOЛЬ
Для того, чтоб этот файл был бы доступен только вам, нужно обязательно выполнить команду chmod 600 «/.my.cnf. Если этот файл будет доступен для чтения другим пользователям, они тоже сумеют получить административный доступ к MySQL серверу, оно вам надо?
После этого все утилиты, которые подключаются к mysql серверу, не будут спрашивать пароля для подключения. Это можно проверить на примере утилиты mysqladmin или mytop.
Мониторинг mysql сервера
Очень удобная утилита для мониторинга mysql сервера из консоли является mytop. Ее можно поставить из портов:
%cd /usr/ports/databases/mytop
%make install
Запускается она просто командой mytop. Она показывает запросы, которые в данный момент выполняет mysql сервер, а также общую статистику сколько запросов в секунду, какие запросы (SELECT, UPDATE, DELETE), их количество. Выйти из утилиты можно при помощи клавиши q либо Ctrl-C.
Запретить удаленный доступ к mysqld
Можно запретить удаленный доступ к mysqld через tср, и позволить соединяться только приложениям сданной машины. Это очень полезно для повышения безопасности сервера.
Проверить, что у вас разрешены удаленные соединения можно при помощи следующей команды:
%netstat -an | grep 3306
tcp4 0 0 *.3306 *.* LISTEN
%
Если вы видите эту строчку значит удаленный доступ у вас открыт. Для того, чтоб его запретить нужно добавить в файл /data/mysql/my.сnf строки:
[mysqld]
skip_networking
Если такого файла у вас нет, создайте его.
Чтоб изменения конфигурации вступили в силу, перезагрузите mysqld сервер при помощи команды:
/usr/local/etc/rc.d/mysql-server forcerestart
%/usr/local/etc/rc.d/mysql-server restart
Stopping mysql.
Waiting for PIDS: 706.
Starting mysql.
%
Проверьте еще раз, что удаленный доступ уже закрыт:
%netstat -an | grep 3306
%
Проблемы с mysql
Клиентские программы не могут найти mysql сервер. Если сторонние программы жалуются, что они не могут подсоединиться к базе данных mysqld и не могут найти localhost, вы можете убрать из /etc/hosts строчку
::1 localhost localhost.my.domain
и попробовать еще раз.
Если это не поможем, Вы можете добавить в /data/mysql/my.cnf следующую секцию
client]
port = 3306
socket = /tmp/mysql.sock
bind-address = 127.0.0.1
Это все конечно хорошо, но ни фига не работает, очень много скриптовых ошибок, поэтому я к примеру как новичек, не могу по этой инструкции поставить, по причине присутствия оных……