Новости
  04/12/2009

Legrand" DLP mini для каждого офиса
  10/04/2009

Сайт дополнился интерестными статьями о Сборке компьютеров, Веб-дизайне, Сетевых технологиях...
 


Free BSD для начинающих.
продолжение. (начало - 1 , 2 )

Как устанавливать MySQL на FreeBSD

Для установки 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 % chmod 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/гс.
d/mysql-server start. Для оставноки, соотстветственно - /usr/local/etc/rc. d/mysql-server stop. Для рестарта сервера^ /usr/local/etc/гс .d/mysql-server restart.

Как проверить, что mysqld запущен?

Для того, чтоб проверить, что mysqld нормально запустился вам следует запустить следующую команду и сравнить ее вывод с тем что получится у вас. Должны присутствовать оба процесса - и mysqld_saf е и mysqld.
% ps -ах | 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/гс .d/mysql-server start - запуск mysql сервера.

Смена пароля для админа MySQL

Пароль для администора mysql можно поменять следующим образом, вместо asdasd впишите ваш пароль.
% mysqladmin password asdasd
После этого, чтоб запустить команду mysqladmin вам придется либо запускать ее с аргументом -Р, либо прописать пароль в файл, как показано ниже. %mysqladmin -р ргос
Enter password: \textit{вводите_пароль}

Настройки клиента MySQL

Для того, чтоб каждый раз не вводить пароль для соединения с mysql сервером, можно записать настройки в файл ~/.my.cnf Будьте внимательны с именем файла, оно начинается с точки! Создайте файл "/.my.cnf, откройте его в редакторе и запишите в него следующие строчки. Если такой файл уже существует и вы поменяли пароль пользователя, то вам нужно будет его отредактировать.
[client]
password=Ваш_Пароль
Для того, чтоб этот файл был бы доступен только вам, нужно обязательно выполнить команду chmod 600 ~/. my. cnf. Если этот файл будет доступен для чтения другим пользователям, они тоже сумеют получить административный доступ к MySQL серверу, оно вам надо?

Обязательно ограничте права доступа к файлу . my. cnf!
После этого все утилиты, которые подключаются к mysql серверу, не будут спрашивать пароля для подключения. Это можно проверить на примере утилиты mysqladmin или mytop.

Мониторинг MySQL сервера

Очень удобная утилита для мониторинга mysql сервера из консоли является mytop. Ее можно поставить из портов:
% cd /usr/ports/databases/mytop % make install
Запускается она просто - командой mytop. Она показывает запросы, которые в данный момент выполняет mysql сервер, а так-же общую статистику - сколько запросов в секунду, какие запросы (SELECT, UPDATE, DELETE), их количество. Выйти из утилиты можно при помещу клавиши q либо Ctrl-C.

Запретить удаленный доступ к mysqld

Можно запретить удаленный доступ к mysqld через tcp, и позволить соединяться только приложениям с данной машины. Это очень полезно для повышения безопасности сервера. Проверить, что у вас разрешены удаленные соединения можно при помощи следующей команды: %netstat -an | grep 3306 tcp4 0 0 *.3306 LISTEN
%
Если вы видите эту строчку — значит удаленный доступ у вас открыт. Для того, чтоб его запретить нужно добавить в файл /data/mysql/my. cnf строки:
[mysqld]
skip_networking
Если такого файла у вас нет, создайте его.
Чтоб изменения конфигурации вступили в силу, перезагрузите mysqld сервер при помощи команды /usr/local/etc/rc . d/mysql-server restart
%/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





 

copyright (c) 2006-2010, ABNET Company. all right reserved

Click here Click here Click here