Я советую перенастроить 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 🙂