Инструменты безопасности с открытым исходным кодом

         

Настройка сервера MySQL


MySQL является базой данных на основе SQL с открытыми исходными текстами, заслужившей признание корпоративного мира за свою мощь и гибкость. Хотя эта книга не предназначена для обучения всем тонкостям применения MySQL, следующая процедура поможет настроить и выполнить некоторые основные административные задачи на базе данных MySQL, чтобы можно было использовать средства анализа.

  1. Загрузите самую свежую версию MySQL с сайта http://www.mysql.com или используйте RPM с дистрибутивных дисков вашей ОС. Проверьте, что версия MySQL не ниже 4.0.

    Примечание: Если у вас уже имеется установленная база данных MySQL версии 4.0 или выше, перейдите к шагу 4.

  2. Распакуйте файл и выполните обычные команды компиляции в созданном каталоге: ./configure make make install
  3. Выполните командный файл установки, расположенный в каталоге scripts, набрав mysql_install_db

    Программа базы данных будет инициализирована и подготовлена к работе.

  4. Создайте пользователя и группу mysql для базы данных, от имени которых будут выполняться задачи. Для этого следует набрать команды groupadd mysql useradd -g mysql mysql
  5. Чтобы MySQL могла функционировать, задайте владельца и режим доступа файла с помощью следующих команд: chown -R root /usr/local/mysql chown -R mysql /usr/local/mysql.var chgrp -R mysql /usr/local/mysql cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
  6. Откройте в редакторе файл /etc/ld.so.conf и добавьте в него следующие строки: /usr/local/mysql/lib/mysql /usr/local/lib

    Сохраните файл.

  7. От имени пользователя root введите ldconfig -v
  8. От имени пользователя root задайте пользователя admin для базы данных MySQL, набрав /usr/local/mysql/bin/mysqladmin -u root password 123456

    где 123456 надо заменить выбранным вами паролем. Не забудьте записать пароль и сохранить его в безопасном месте.

    Когда вы это сделаете, вернитесь под свое обычное входное имя, набрав "exit" в командной строке.

  9. Можно настроить MySQL для запуска в качестве демона, чтобы БД выполнялась все время, и не надо было запускать ее вручную.
    Для этого достаточно поместить следующую строку в конце файла rc.local, находящегося в /etc/rc.d/. mysqld -user=mysql &

    Эта команда будет запускать MySQL как системный процесс при каждой перезагрузке системы.

  10. Наконец, необходимо повысить защищенность MySQL, чтобы БД не стала дырой в безопасности вашей системы. По умолчанию защищенность MySQL весьма слаба. Хотя безопасность MySQL не является темой данной книги, ниже представлено несколько советов, которыми можно воспользоваться.
    • Удалите стандартных пользователей, если только у вас нет программ, которые их используют.
    • Проверьте, что пользователь root может подключаться только с небольшого числа хостов.
    • Задайте несколько правил на межсетевом экране, разрешающих соединение с сервером MySQL только ограниченному числу портов с ограниченного числа машин.
    • Создайте системные счета для запуска программ. Системный счет root или счет MySQL root (это две разные вещи) используйте только в случае крайней необходимости (к сожалению, NPI этого требует). Данная лекция включает примеры специальных счетов приложений для создания в каждом пакете описания везде, где это возможно.


Теперь сервер MySQL готов к работе. Наберите mysql в командной строке ОС. Появится приглашение для ввода имени пользователя и пароля, чтобы войти в стандартную командную строку MySQL, где можно применять стандартные команды SQL к базам данных MySQL. См. врезку о некоторых основных командах MySQL.



Основные команды MySQL

Чтобы войти в MySQL, наберите mysql -u имя_пользователя -p пароль, заменяя имя_пользователя и пароль соответствующими именем и паролем одного из счетов базы данных MySQL.

Примечание: Это не то же самое, что вход в систему. В данном случае вы входите в MySQL и получаете приглашение mysql>, после которого можно набирать команды. Не забывайте ставить в конце команды точку с запятой, прежде чем нажать клавишу ввода для ее выполнения.

Ниже представлено несколько основных команд для навигации и поиска в базе данных MySQL.
show databases;Отображает все доступные на сервере MySQL базы данных.
use имя_базы_данных;Делает указанную базу данных активной, после чего над ней можно выполнять операции.
show tables;Перечисляет все таблицы, существующие в базе данных.
select запрос from имя_таблицы;Выдает записи, соответствующие заданному запросу в таблице с указанным именем. Имеется ряд операндов, которые можно использовать в инструкции запроса. Звездочка * в качестве запроса приведет к выводу всех записей таблицы.

Содержание раздела