Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #28, МАРТ 2003 г.

ДВИЖОК, РАБОТАЮЩИЙ С БД - ставим и настраиваем MySQL

fenix (f3x@land.ru)

Спецвыпуск Xakep, номер #028, стр. 028-048-2


#лог файл

#slow query log#=

#каталог для хранения временных файлов

#tmpdir#=

#порт, на котором слушает mysql

#port=3306

#размер буфера

#set-variable=key_buffer=16M

#секция с настройками интерфейса к mysql

[WinMySQLadmin]

#путь к интерфейсу

Server=C:/USR/MYSQL/bin/mysqld-opt.exe

#админовский пароль для доступа к mysql

user=root

password=123

Ковырять здесь особенно нечего, поэтому лучше не трогать этот файл, а если и ковырять - то предварительно сделав его резервную копию.

Mysql позволяет удаленное подключение к себе, что ты можешь использовать для удаленного администрирования и редактирования баз данных. Для этого он слушает на хосте 3306 порт, в чем ты можешь убедиться, набрав в командной строке "netstat -an":

UNIX (FREEBSD 4.X) ИНСТАЛЛЯЦИЯ

Заливаешь себе соответственные бинарники с http://www.mysql.com/downloads/. Разархивируешь их tar'ом (tar xzvf mysql-x.x.x-i368.tar.gz) и инсталлишь (процедура инсталляции стандартная и никаких затруднений у тебя вызвать не должна, поэтому здесь и не рассматривается). По дефолту mysqld устанавливается в /usr/local/libexec/ и базы в /usr/local/var/mysql в FreeBSD 4.х. Для того чтобы убедиться, что все нормально, набираешь в консоли:

altair# ps -afx|grep mysqld

и видишь примерно следующее:

т. е. процесс mysqld запущен - все нормально. Можешь еще набрать "sockstat -4|grep mysqld" и убедиться, что порт 3306 открыт:

НАСТРОЙКА В WIN32 И UNIX (FREEBSD 4.X)

Заходишь в каталог, в котором установлен mysql, работать придется в режиме командной строки с помощью sql-запросов. Все нижеописанное будет относиться как к настройке в *nix, так и для Win32, с разницей разве что в путях.

Итак, рассмотрим сначала все процессы в общем. Набрав mysql, ты попадешь в среду управления mysql (клиент, монитор), в результате чего будет выдано соответствующее приглашения вида:

Работа в клиенте происходит с помощью некоторых предопределенных команд и структурированных запросов. С помощью предопределенных команд ты можешь просмотреть статус баз данных, статистику обращений к базам данных, переходить из одной базы данных в другую и т. д. Задав ключ \h, ты получишь список всех доступных команд монитора.

При установке mysql создает 2 базы данных по дефолту - это test, назначение этой базы понятно из ее названия, и базу mysql, которая является служебной и в таблицах которой хранятся учетные записи пользователей, которые могут работать с определенными администратором базами, их права. Кстати, система присвоения прав является очень гибкой и функциональной для каждой отдельной учетной записи, так, например, пользователь root (администратор) может иметь доступ ко всем базам и делать с ними все что угодно, создавать (create) и удалять (delete) базы данных, вставлять (insert), обновлять (update) и совершать прочие подобные операции над записями баз данных, то есть данному пользователю доступны все права и, соответственно, все функции. Другой пользователь с соответствующими настройками сможет работать только с одной необходимой ему базой данных с возможностью только создавать в данной базе таблицы и редактировать записи - без возможности удаления данной базы данных и без возможности доступа к базам данным других пользователей. Так в двух словах мы вроде бы по теории пробежались, а теперь непосредственно к делу, попробуем это все дело на практике.

Назад на стр. 028-048-1  Содержание  Вперед на стр. 028-048-3