GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY
'пароль' WITH GRANT OPTION;
Вместо всех полномочий вы можете определить, какие действия может выполнять с базой тот или иной пользователь. Если вы являетесь хостинг-провайдером и предоставляете доступ пользователю к его базе данных, то вы можете использовать следующий запрос:
GRANT CREATE,DROP,SELECT,INSERT,UPDATE,DELETE,INDEX ON
user.* TO user@% IDENTIFIED BY 'пароль';
Этот запрос позволяет пользователю 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 Select_priv Insert_priv Update_priv
Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv
Process_priv File_priv
Поля Host, User, Password— это, соответственно, узел, из которого пользователь может получить доступ, имя и пароль пользователя. Все остальные поля задают полномочия. Если выполнение какой-нибудь операции разрешено пользователю, значение поля должно быть равным «Y», в противном случае — «N».
Например, нам нужно создать пользователя admin, который должен иметь все полномочия. Это можно сделать с помощью такого запроса SQL:
INSERT INTO user(Host,User,Password,Select_priv,Insert_priv,
Update_priv, Delete_priv, Create_priv, Drop_priv,
Reload_priv, Shutdown_priv, Process_priv, File_priv)
VALUES ('localhost', 'admin', password('4td561s12'),
'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
Для создания обыкновенного пользователя используйте следующий запрос:
INSERT INTO user(Host, User, Password, Select_priv,
Insert_priv, Update_priv, Delete_priv) VALUES('%',
'user', password('123456') , 'Y' , 'Y' , 'Y' , ' Y');
17.2. Клиентская часть MySQL
Удобной программой для просмотра структуры базы данных является mysqlshow. Введите следующую команду:
$ mysqlshow -p mysql
В ответ вы увидите список таблиц, которые находятся в базе данных 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).
Читать дальше
Конец ознакомительного отрывка
Купить книгу