СУБД MySQLПродолжим разговор о СУБД MySQL. MySQL – это реляционная система
управления базами данных. То есть данные в ее базах хранятся в виде
логически связанных между собой таблиц, доступ к которым
осуществляется с помощью языка запросов SQL. MySQL – свободно
распространяемая система, т.е. платить за ее применение не нужно.
Кроме того, это достаточно быстрая, надежная и, главное, простая в
использовании СУБД, вполне подходящая для не слишком глобальных
проектов. Работать с MySQL можно не только в текстовом режиме, но и в
графическом. Существует очень популярный визуальный интерфейс
(кстати, написанный на PHP) для работы с этой СУБД. Называется он
PhpMyAdmin. Этот интерфейс позволяет значительно упростить работу с
базами данных в MySQL. В текстовом режиме работа с базой данных выглядит просто как ввод
команд в командную строку (рис 10.2), а результаты выборок
возвращаются в виде своеобразных таблиц, поля в которых налезают друг
на друга, если данные не помещаются на экран (рис 10.3).  Рис. 10.2.
Работа с MySQL в коммандной строке. Команда show databases — вывести все имеющиеся базы данных
PhpMyAdmin позволяет пользоваться всеми достоинствами браузера,
включая прокрутку изображения, если оно не умещается на экран. Многие
из базовых SQL-функций работы с данными в PhpMyAdmin сведены к
интуитивно понятным интерфейсам и действиям, напоминающим переход по
ссылкам в Internet. Но тем не менее стоит все же поработать и в
текстовом режиме.  Рис. 10.3.
Работа с MySQL в коммандной строке. Результат обработки команды show databases
Перед тем как переходить к детальному изучению языка SQL, несколько
слов об установке MySQL и подготовке к работе. Если вы не собираетесь
заниматься администрированием сервера, то информация, приведенная
ниже, пригодится вам только для общего развития. Итак,
устанавливается MySQL очень просто – автоматически, пару раз нажмите
OK, и все. После этого вы можете зайти в директорию, где лежат файлы
типа mysql.exe, mysqld.exe и т.п. (у нас под Windows XP это
c:\mysql\bin) Последний файл запускает Mysql-сервер. В некоторых
системах сервер запускается в виде сервиса. После запуска сервера
следует запустить mysql-клиент, запустив программу mysql.exe. Здесь
даже пароля не спросят. Более того, если вы наберете или shell>mysql -u root mysql то получите все права администратора mysql сервера. Кстати, выполнять
эти команды надо, находясь в той директории, где лежат файлы
mysql.exe. Для начала, не вдаваясь в подробности команд, исправим эти два
недочета (отсутствие пароля у администратора и возможность входа
анонимным пользователям):
shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('new_password')
WHERE user='root';
mysql> DELETE FROM user WHERE user='';
mysql> FLUSH PRIVILEGES;
Все данные о пользователях MySQL хранит в таблице user в специальной
базе данных mysql, доступ к которой имеет только администратор
сервера. Поэтому, чтобы изменить какой-либо пароль, нужно изменить
эту таблицу. Пароль задается с помощью функции PASSWORD, которая
кодирует введенные данные. Кроме изменения пароля администратора,
нужно еще удалить всех пользователей, не имеющих логина (команда
DELETE). Команда Flush Privileges заставляет вступить в действие
изменения, произошедшие в системной базе данных (mysql). Теперь создадим базу данных, с которой будем работать (мы все еще
работаем как администратор сервера):
mysql>create database book;
Как можно заметить, все команды в MySQL заканчиваются точкой с
запятой. Если вы забыли поставить этот знак, то выдается приглашение
его поставить до тех пор, пока это не будет сделано: Теперь последнее действие – создадим простого пользователя,
предоставим ему доступ к созданной базе данных, и начнем работать.
mysql> GRANT ALL PRIVILEGES ON book.* TO nina@localhost
IDENTIFIED BY '123';
Команда GRANT наделяет пользователя nina, зашедшего на сервер с этой
же машины (c localhost) и идентифицируемого паролем «123»,
определенными правами (в данном случае всеми) на все таблицы базы
данных book. Теперь мы можем выйти и зайти как пользователь nina с
соответствующим паролем:
shell>mysql -u nina -p
Enter password: ***
Welcome to the MySQL monitor!...
mysql>
Если вы собираетесь пользоваться базой данных на чужом сервере, то
его администратор проделает все описанные выше действия за вас, т.е.
все настроит и создаст пользователя и базу данных. В следующей главе
описаны команды языка SQL, которые пригодятся для работы с данными,
хранящимися в СУБД MySQL.
|