Настройка сервера MySQL
MySQL является базой данных на основе SQL с открытыми исходными текстами, заслужившей признание корпоративного мира за свою мощь и гибкость. Хотя эта книга не предназначена для обучения всем тонкостям применения MySQL, следующая процедура поможет настроить и выполнить некоторые основные административные задачи на базе данных MySQL, чтобы можно было использовать средства анализа.
- Загрузите самую свежую версию MySQL с сайта http://www.mysql.com или используйте RPM с дистрибутивных дисков вашей ОС. Проверьте, что версия MySQL не ниже 4.0.
Примечание: Если у вас уже имеется установленная база данных MySQL версии 4.0 или выше, перейдите к шагу 4.
- Распакуйте файл и выполните обычные команды компиляции в созданном каталоге: ./configure make make install
- Выполните командный файл установки, расположенный в каталоге scripts, набрав mysql_install_db
Программа базы данных будет инициализирована и подготовлена к работе.
- Создайте пользователя и группу mysql для базы данных, от имени которых будут выполняться задачи. Для этого следует набрать команды groupadd mysql useradd -g mysql mysql
- Чтобы 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
- Откройте в редакторе файл /etc/ld.so.conf и добавьте в него следующие строки: /usr/local/mysql/lib/mysql /usr/local/lib
Сохраните файл.
- От имени пользователя root введите ldconfig -v
- От имени пользователя root задайте пользователя admin для базы данных MySQL, набрав /usr/local/mysql/bin/mysqladmin -u root password 123456
где 123456 надо заменить выбранным вами паролем. Не забудьте записать пароль и сохранить его в безопасном месте.
Когда вы это сделаете, вернитесь под свое обычное входное имя, набрав "exit" в командной строке.
- Можно настроить MySQL для запуска в качестве демона, чтобы БД выполнялась все время, и не надо было запускать ее вручную.
Для этого достаточно поместить следующую строку в конце файла rc.local, находящегося в /etc/rc.d/. mysqld -user=mysql &
Эта команда будет запускать MySQL как системный процесс при каждой перезагрузке системы. - Наконец, необходимо повысить защищенность 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 имя_таблицы; | Выдает записи, соответствующие заданному запросу в таблице с указанным именем. Имеется ряд операндов, которые можно использовать в инструкции запроса. Звездочка * в качестве запроса приведет к выводу всех записей таблицы. |