Linux: Полное руководство
Шрифт:
17.1.3. Пользователи сервера MySQL и их права
После установки сервера нужно завести пользователей, которые имеют право работать с сервером баз данных. Введите следующий запрос:
Введенный вами запрос создаст пользователя admin, который будет иметь право выполнять любые операции со всеми базами данных. Этот пользователь будет иметь право подключаться к серверу с компьютера localhost, используя пароль.
Маска *.* определяет, к каким базам данных и таблицам имеет право подключаться
Вместо всех полномочий вы можете определить, какие действия может выполнять с базой тот или иной пользователь. Если вы являетесь хостинг-провайдером и предоставляете доступ пользователю к его базе данных, то вы можете использовать следующий запрос:
Этот запрос позволяет пользователю user выполнять все операции с его базой данных.
Полный список полномочий представлен в таблице 17.1.
Полномочия пользователей сервера MySQL Таблица 17.1
Полномочия | Описание |
---|---|
SELECT, INSERT, UPDATE, DELETE | Право просматривать, добавлять, модифицировать, удалять данные в таблицах базы данных |
INDEX | Право производить операции с индексами таблиц |
REFERENCES | Право работать со ссылками в базах данных и таблицах |
CREATE, DROP | Право создавать и удалять таблицы и базы данных |
GRANT, ALTER | Право определять полномочия |
RELOAD, SHUTDOWN, PROCESS | Право перезагружать, останавливать сервер и просматривать все процессы (подключения) |
Если запрос GRANT у вас не работает, то вы можете внести пользователя непосредственно в таблицу user базы данных mysql. Структура таблицы user выглядит следующим образом:
Поля Host, User, Password — это, соответственно, узел, из которого пользователь может получить доступ, имя и пароль пользователя. Все остальные поля задают полномочия. Если выполнение какой-нибудь операции разрешено пользователю, значение поля должно быть равным «Y», в противном случае — «N».
Например, нам нужно создать пользователя admin, который должен иметь все полномочия. Это можно сделать с помощью такого запроса SQL:
Для
17.2. Клиентская часть MySQL
Удобной программой для просмотра структуры базы данных является mysqlshow. Введите следующую команду:
В ответ вы увидите список таблиц, которые находятся в базе данных mysql.
Программа mysqlshow может вызываться с дополнительными ключами, перечисленными в таблице 17.2.
Ключи программы mysqlshow Таблица 17.2
Ключ | Назначение |
---|---|
– -host=имя_узла | Задает имя узла, где работает сервер MySQL, к которому вы хотите подключиться |
– -port=номер_порта | Определяет номер порта для сервера MySQL |
– -socket=сокет | Указывает сокет |
– -user=имя_пользователя | Указывает, под каким именем зарегистрироваться на сервере MySQL |
– p | Запрашивает ввод пароля |
Для самих же операций с данными используется программа mysql. Она понимает те же ключи, что и mysqlshow, и много других, среди которых очень полезный ключ – s. Я рекомендую вам всегда его использовать. Этот ключ подавляет большинство ненужных сообщений, выводимых MySQL-клиентом, что существенно повышает производительность на медленных линиях связи.
17.3. Установка PHP и настройка связки Apache+PHP+MySQL
Сейчас мы произведем не только установку PHP, которая не вызывает особых проблем, но и настройку связки Apache+PHP+ MySQL. Эту связку, очень полезную при создании веб-проектов, можно настроить двумя способами. Первый — использование программ, которые входят в состав дистрибутива и, как правило, устанавливаются из пакетов RPM.
Второй способ заключается в загрузке последних версий Apache, MySQL и PHP и в самостоятельной их сборке из исходных текстов. Первый способ я могу порекомендовать начинающим пользователям, так как он проще. Если же вы чувствуете уверенность в своих силах, приступайте сразу к чтению второго способа.
17.3.1. Первый способ: из пакетов RPM
Первую часть связки в дистрибутивах Red Hat выше 7.2 и Mandrake выше 8.1 настраивать не нужно: все настраивается во время установки системы. Поэтому вы можете сразу приступить к тестированию связки Apache+PHP (листинг 17.1).
Убедитесь, что сервер Apache установлен и корректно функционирует:
Текстовый браузер lynx должен отобразить стартовую страницу Apache. После успешной проверки работы сервера остановите его командой: