Настройка mysql FreeBSD

| 14.10.2013

Я советую перенастроить mysql так, чтоб база находилась в удобном каталоге /data/mysql

Для этого создаем директорию /data/mysql и устанавливаем на нее правильные разрешения.

# mkdir /data/mysql
# chown mysql:mysql /data/mysql
# chmod go-rwx /data/mysql

Настраиваем автозапуск mysql

Добавляем следующие строки в файл конфигурации rc.conf

# 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 ручное управление

Короткий список команд, как управлять с командной строки работой 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 "BAШ_ПAPOЛЬ"

После, чтоб запустить команду 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 через 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

В остальных вопросах поможет freebsd.org или google.com 🙂

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

3 + восемнадцать =

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой: